Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - zHeMaa

16
Cita de: kostra en Diciembre 06, 2015, 10:54:02 PM
repito, vigila el bucle del step

if image_speed != 0.25
     image_speed = 0.25;

Ya ya, lo he tenido en cuenta y nada..

Cita de: penumbra en Diciembre 06, 2015, 11:02:15 PM
Cita de: zHeMaa en Diciembre 06, 2015, 06:34:24 PM
Pues a ver, todos están dentro de "obj_jugador" en un evento step. No hay nada en create ni en otro evento.
[gml]
key_derecha_android = virtual_key_add(112,224,32,32, vk_right);
key_izquierda_android = -virtual_key_add(48,224,32,32, vk_left);
[/gml]
¿Por qué alguien querría agregar 2 teclas virtuales en cada step? ¿Cuál es el sentido? 'Qué hace el signo - en la segunda función?

Pues.. la verdad que es porque el código como he dicho es un "copia y pega" del código que utilizo en PC, solo que en PC es mas complejo, y se ha quedado así.. ahora que lo dices y me lo miro bien tienes razón, no sirve de nada poner esas dos variables de key_derecha_android y key_izquierda_android.

Y sobre la negación en el segundo virtualkey exactamente lo mismo, en PC tenia utilidad, en el código de Android pasa desapercibido, estando la negación o no hace lo mismo (lo acabo de probar).

Después de un rato probando y probando me ha dado por comentar todo el código del movimiento en PC, y me he dado cuenta de que si el código de PC no esta el de Android funciona perfectamente, es decir.. que hay un conflicto el cual ya he detectado.

No había publicado este mensaje y lo había dejado a medias de escribir mientras intentaba solucionarlo y por fin, he visto donde estaba el error.

Al final el codigo ha quedado de esta manera (en Android)

virtual_key_add(112,224,32,32, vk_right);
virtual_key_add(48,224,32,32, vk_left);

if keyboard_check(vk_anykey)
{
    if keyboard_check(vk_left)
    {
   
        if !global.atacando
        {
            image_xscale = -1;
            sprite_index = spr_jugador_movimiento;
            x -= global.velocidad;
            image_speed = 0.25;
        }
    }
    else
    if keyboard_check(vk_right)
    {
        if !global.atacando
        {
            image_xscale = 1;
            sprite_index = spr_jugador_movimiento;
            x += global.velocidad;
            image_speed = 0.25;
        }
    }
}
else
{
    image_speed = 0;
    image_index = 0;
}


Gracias igualmente a todos, al menos me habéis echo abrir los ojos y sobretodo corregir algunos errores!
17
Cita de: jmbs19 en Diciembre 06, 2015, 07:33:47 PM
si como dices todo tu codigo esta en step asegurate de que en ninguna parte del codigo tengas algo como esto
[gml]
image_speed=0//detener el sprite
[/gml]
ya estableciendo eso deberias de colocar esto que te pongo aqui identificado con etiqueta
[gml]
key_derecha_android = virtual_key_add(112,224,32,32, vk_right);
key_izquierda_android = -virtual_key_add(48,224,32,32, vk_left);

if keyboard_check(vk_left)
{
    if !global.atacando
    {
        image_xscale = -1;
        sprite_index = spr_jugador_movimiento;
        x -= global.velocidad;
        image_speed=1;//esta es la velocidad con la que se cambiaran las imagenes, 1 significa que ira a un cuadro por step
    }
}
else
if keyboard_check(vk_right)
{
    if !global.atacando
    {
        image_xscale = 1;
        sprite_index = spr_jugador_movimiento;
        x += global.velocidad;
        image_speed=1;//otra vez estableces la velocidad con la que se cambiaran las imagenes
    }
}[/gml]
de esta manera todo deberia de quedar bien, sin embargo te digo si aun asi no funciona significa que tienes esto:

[gml]
image_speed=0
[/gml]

en alguna parte despues de esta parte del script.

Cita de: kostra en Diciembre 06, 2015, 07:48:08 PM
pues si no las hace, añádeselas no? (image_speed) VIGILANDO no haga bucle, al estar en step!!

Por supuesto que ya había probado esa opción, pero nada! jajajaja

Si en verdad parece super sencillo, pero es que no consigo hacer que haga las subimagenes..
En create tengo image_speed = 0.25;, cuando muevo el personaje con las teclas A y D funciona a la perfección, pero con los botones de Android no detecta el image_speed = 0.25 del create, así que yo opte por introducirlo en el código pero que va.. nada, el personaje sigue caminando con las piernas abiertas y ya os digo, que parece una tontería, pero he probado mil cosas y no consigo nada arreglar eso.

Es lo que os digo yo creo que el problema viene del virtual_key, ya que en PC utiliza keyboard_check pero en Android he probado varias combinaciones con el keyboard_check y ninguna me ha funcionado (que no quiero decir que sea imposible, igual soy yo que no se hacerlo), así que tuve que poner si o si virtual_key.

Un saludo!

18
Cita de: Guacusio en Diciembre 06, 2015, 02:54:26 PM
Me gustaría ayudarte, pero antes de entrar a hacer un montón de suposiciones quisiera saber en qué eventos van cada uno de los códigos que pusiste.

Es verdad.. que se me ha olvidado ponerlo..

Pues a ver, todos están dentro de "obj_jugador" en un evento step. No hay nada en create ni en otro evento.

Y también he de decir que el código del movimiento en PC era algo diferente, el de Android es un copia y pega cambiando algunas cosas pero por mi experiencia con lo que hay debería ir de sobras, el problema es que el personaje no hace las subimajenes (camina con las piernas rectas).

Gracias por responder, un saludo!
19
Muy buenas a todos, veréis.. llevo prácticamente un día diseñando un teclado en Android, funcionar funciona a la perfección, el problema es que los sprites se mueven bien y eso solo que no detecta el image_speed, vamos.. en pocas palabras el sprite se mueve pero no hace el efecto de que camina o ataca, es como si image_speed estuviera en 0.

Aquí os dejo el código el cual hace que el personaje se mueva según si pulsas el botón de la derecha o el de la izquierda (botones que están en la pantalla del juego).


key_derecha_android = virtual_key_add(112,224,32,32, vk_right);
key_izquierda_android = -virtual_key_add(48,224,32,32, vk_left);

if keyboard_check(vk_left)
{
    if !global.atacando
    {
        image_xscale = -1;
        sprite_index = spr_jugador_movimiento;
        x -= global.velocidad;
    }
}
else
if keyboard_check(vk_right)
{
    if !global.atacando
    {
        image_xscale = 1;
        sprite_index = spr_jugador_movimiento;
        x += global.velocidad;
    }
}


El código que falla, o no funciona mejor dicho es el de "sprite_index = spr_jugador_movimiento;", este mismo código lo tengo para cuando pruebo el juego en el PC con las teclas A y D (es un juego de plataformas) y funciona a la perfección, el problema ha sido al pasar este código de PC a Android que en vez de utilizar el movimiento con:

key_derecha = keyboard_check(ord("D"));
key_izquierda = -keyboard_check(ord("A"));


Lo hace con virtual_keys como veréis a continuación:

key_derecha_android = virtual_key_add(112,224,32,32, vk_right);
key_izquierda_android = -virtual_key_add(48,224,32,32, vk_left);


Y yo creo que el fallo viene de ahí, pero como bien digo.. solo lo creo. Quizá sea otra cosa.
Por lo demás todo es igual y como he dicho, en PC el personaje camina y se ve como camina realmente y en Android camina, pero sin las subimagenes, vamos.. que se mueve pero no hace el efecto de caminar.

A ver si sabéis decirme que falla porque lo he probado Todo y no lo consigo..

Gracias de antemano! :)
20
Cita de: jmbs19 en Noviembre 27, 2015, 10:44:22 PM
te recuerdo que las mayusculas y minusculas afectan, "españa" no es igual a "España".

Lo se lo se.. jajajaja

El problema es que escribo lo que sea y la ventana de texto (donde se responde la pregunta) nunca se cierra.

Saludos!
21
Cita de: jmbs19 en Noviembre 27, 2015, 09:21:53 PM
este codigo esta mal
[gml]
if global.puntuacion = 1
    {           
        while(1)
        {
            global.respuesta = get_string("¿Donde vives?","");
            if string_length(global.respuesta) <= 20
            break;//este break no deberia de estar aqui, porque rompe el codigo, si quieres que solo se ejecute el siguiente if si es verdadero deberias de poner aqui ese if
                else
            show_message("Respuesta muy larga")

            if global.respuesta = "España" {global.puntuacion = +1};
        }
    }
[/gml]

la manera de hacer esto seria:

[gml]
if global.puntuacion = 1
    {           
        while(1)
        {
            global.respuesta = get_string("¿Donde vives?","");
            if string_length(global.respuesta) >= 20//si es mayor a 20
                {
                  show_message("Respuesta muy larga")//ejecuta esto
                }
            else
                {
                  if global.respuesta = "España" {global.puntuacion = +1};//sino ejecuta esto
                }
        }
    }

[/gml]

deje lo del while porque no se como sera tu código final, pero hay tienes como debería de ser el código basado en lo que tu diste

Ahora me pone que siempre es incorrecta la respuesta, por ejemplo pongo España y me dice que es incorrecta y se vuelve a abrir lo de escribir. Lo mismo pasa si pongo otra cosa..

El código que yo di de base con el while olvidaros de el.. si creéis que hay otra manera mejor os lo agradecería.. y otra cosa, sobre el
if string_length(global.respuesta) <= 20
es lo de menos.. es mas, quizá ni lo pongo. Así que no hace falta que lo incluyáis..

Gracias jmbs19!
22
Muy buenas tardes a todos, mirar.. llevo probando lo menos 2 horas una cosa y me estoy volviendo loco.

Lo que quiero es que me pregunte una cosa, vamos a imaginar que la pregunta es ¿Donde vives? y la respuesta es España (por ejemplo).
Entonces.. quiero que cuando pregunte ¿Donde vives? y la respuesta sea distinta a España me diga que "no es correcto" (por poner algo) pero cuando la respuesta sea España que me diga que "es correcto".

He de aclarar que no estoy usando ni esa pregunta ni esa respuesta pero es para que todos nos entendamos. Luego yo ya lo rectifico y lo hago a mi manera, simplemente necesito el código base, por decirlo de alguna manera..

De momento mi código es este: (Aun que no hagáis mucho caso ya que igual se tiene que modificar por completo, también he de decir que no funciona, por si lo queréis probar.. ya sabéis que no os servia de mucho..)


    if global.puntuacion = 1
    {           
        while(1)
        {
            global.respuesta = get_string("¿Donde vives?","");
            if string_length(global.respuesta) <= 20
            break;
                else
            show_message("Respuesta muy larga")

            if global.respuesta = "España" {global.puntuacion = +1};
        }
    }


Gracias de antemano! (:
23
Cita de: Marth en Junio 29, 2015, 12:31:22 AM
Vale, sigo jugando y ahora me encuentro con la publicidad. Esta sale sin previo aviso interrumpiendo entre partida y partido. Supongo que así ganas dinero, pero en un juego como este lo que iría bien es dlc de desbloquear todo. XD

jajajaja sí, tiene publicidad con adcolony, pero va fatal y sale cuando quiere (siempre cuando mueres y te dice que pulses para continuar). Para la próxima actualización pondré un banner interstitial de admob que es lo que tenia antes y funciona de maravilla!

Y próximamente cuando tenga algo mas de tiempo y añada el enemigo que da 500 de puntuación ya sera todo mas sencillo, menos desbloquear los personajes, que posiblemente acabe bajándolo a 7500 o 5000.. Así al menos tener todos los personajes sera mas asequible, pero entonces ya no seria tanto "merito".. ya que para ir de un nivel a otro mas o menos hay que matar unos 5000.. jajajaja

Un saludo! :)
24
Cita de: Marth en Junio 27, 2015, 10:40:13 PM
No importa, era algo relacionado con play store y pude finalmente instalarlo sin más.
En cuanto al juego en si, pues no es muy diferente a lo que mostraste hace tiempo: un juego de supervivencia, sencillo pero desafiante en el que tu objetivo es ganar puntos para desbloquear escenarios, personajes y ataques. Y sigue siendo mi crítica que para acceder a la segunda fase necesito 5000 puntos, así que si de media consigo en la primera misión 200 puntos, 25 veces he de jugarlo para desbloquear el segundo nivel. Se que no puede el juego acabarse en una tarde de vicio, pero esto si que va a ser "farmear".
Aparte, en el juego hay cosas que claramente aun están pendientes, así que esperemos que actualices para terminar el juego.

La única diferencia a parte de cosas mínimas es que ahora esta la tabla de marcadores y creo que el idioma, que antes no estaba incluido el ingles.

Sobre el juego he bajado un poco las puntuaciones máximas.. no mucho, pero si un poco para que sea mas fácil llegar a distintos niveles.

Y sobre las nuevas cosas pendientes tengo pensado añadir nuevos mapas, con sus respectivos jefes desbloqueables y posiblemente un enemigo que te de 500 puntos (es seguramente lo próximo que añada, pero aun no se en que basarme para dibujarlo.. a tema de forma me refiero).

Gracias por probarlo y cualquier sugerencia es buena, cualquier consejo o cualquier cosa la verdad es que es de gran ayuda! Un saludo! :)
25
Cita de: Marth en Junio 27, 2015, 10:12:47 PM
Cita de: zHeMaa en Junio 27, 2015, 07:45:38 PM
Hola makeros, después de un mes ya por fin he lanzado Elementz para Android!

Os dejo el enlace en este mismo post y debajo de este mensaje para que le echéis un vistazo.

No dudéis en probarlo y responderme que creéis que deberíais cambiar o modificar, gracias, un saludo! :)

Descarga:
https://play.google.com/store/apps/details?id=com.hardgames.elementz

Cuando quiero instalarlo me solicitan un "método de pago". ¿Es gratis o hay que pagar?

Completamente gratis, sin compras integradas ni nada. Que raro, puedes pasarme captura? gracias! :)
26
Hola makeros, después de un mes ya por fin he lanzado Elementz para Android!

Os dejo el enlace en este mismo post y debajo de este mensaje para que le echéis un vistazo.

No dudéis en probarlo y responderme que creéis que deberíais cambiar o modificar, gracias, un saludo! :)

Descarga:
https://play.google.com/store/apps/details?id=com.hardgames.elementz
27
Preguntas y respuestas / Re:API de Android
Junio 21, 2015, 08:35:36 PM
Cita de: Grossu Arts en Junio 19, 2015, 07:53:17 PM
Hola, soy nuevo en esta comunidad y en GM.

Queria hacer una consulta para los mas experimentados, subi un juego a Android pero solo levanta en Android 5.0. (Samsumg Galaxy S5) en las demas versiones de android no se ejecuta, ¿como puedo hacer para que el juego funcione en mas versiones de android?¿podra ser un tema del tamaño de las pantallas?
Ya tengo instaladas varias API, onda 4.1,4.2,4.3. pero en las versiones de Android de dichas APIs no funciona.

MUCHAS GRACIAS!

Saludos!

Para "solucionar" esto, por decirlo de alguna manera, tienes que irte a: "C:\Users\zHeMaa\AppData\Roaming\GameMaker-Studio\" (lógicamente donde pone zHeMaa va tu nombre de usuario del PC). Una vez dentro abre el "AndroidManifest.xml" (yo utilizo notepad++).

Ahora viene lo difícil pero si lo entiendes, es super sencillo.
En el AndroidManifest, busca la linea: "<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20"/>".
Donde pone el 14 es la API máxima para que funcione, es decir.. si la API selecionada es la 14, funcionara la 13, la 12, 11, 10.. asi hasta la API 7. Que es la API mas baja de todas (menos de 7 no hay), eso quiere decir que si pones un 7 donde el 14 tu juego lo podrán jugar todos los dispositivos móviles (no recomendable ya que si tu juego pide muchos recursos, por mucho que lo puedan instalar todos los dispositivos a la mayoría no le irán, así que tu tienes que ir probando para saber mas o menos haber a partir de que versión tu juego corre sin problemas).

Ahora te pondre las API mas comunes, y tu ya eliges cual poner.

API 7: versión Android necesaria 2.1 (la mas baja).
API 11: versión Android necesaria 3.0 o menos.
API 14: versión Android necesaria 4.0 o menos.
API 20: versión Android necesaria 5.0 o menos.

Si tienes alguna duda no dudes en preguntar, un saludo! :)
28
Cita de: pacne en Junio 19, 2015, 12:37:16 AM
buenas, tienes que crear el .apk con el runner no funciona. prueba a ver si es por eso

No.. no es eso, siempre creo el .akp y lo paso al móvil, una vez ahí entro con el gmail de mi cuenta de google play developer y me entra, pero si entro con otra no.

Luego en google play developer encontré esto: "Habilitar antipiratería" (con su respuesta a SI o No), y su descripción es "Evita que los usuarios que no hayan instalado tu juego a través de Google Play puedan acceder a los servicios de juegos de Google Play.". Una vez leí esto yo pensé que si en vez de tenerlo activado, lo desactivo ya funcionaria bien, ya que mi juego aun no esta subido a google play. Eso quiere decir que como mi juego no esta instalado de google play por eso no funcionan los supuestos servicios de google, pero llevo 3 o 4 días con esto desactivado y sigue igual. No se si es porque aun no he publicado el juego. Pero es bastante raro, la verdad.

Gracias por responder y si alguien sabe que puede ser que me lo diga, ya que no voy a subir el juego sin solucionar esto.. un saludo! :)
29
Al final conseguí solucionarlo.. pero tengo otro fallo y es que ahora al iniciar sesión me pone esto:
"failed to sign in. please check your network connection and try again", solo he conseguido iniciar sesión con una cuenta de un móvil, a la que me conecto con otro móvil me sale eso, o incluso con otra cuenta del mismo móvil..

Si alguien sabe la solución se lo agradecería, gracias!
30
Hola a todos, llevo varias semanas comiéndome la cabeza para añadir marcadores, y al final he medio encontrado la solución..
Lo que quiero son los famosos marcadores de Google play, que se hacen llamar por el nombre de "Leaderboards". El problema es que no se exactamente como añadirlos a GM:s. He encontrado una guía bastante buena pero en el tema códigos es lo que me falla ya que lo demás yo diría que esta bien.

La guía:
http://gamedesignerkid.blogspot.com.es/2014/03/game-maker-studio-tutorial-make-your_19.html

PD: Para los que no sepan de que estoy hablando, seria exactamente esto lo que quiero conseguir:


Vamos una tabla de récords pero la de Google Play.

Gracias de antemano! :)