Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Problema Con Cambios De Sprites  (Leído 516 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado masalaja

en: Marzo 25, 2020, 11:41:49 am
Saludos, estoy intentando que mi personaje nade o suba escaleras pero no se porque cada vez que uso el objeto change sprite los personajes se quedan quietos en la primera imagen pero nunca se animan, esto me suele pasar con casi todo lo que hago. El codigo que puse es el siguiente para nadar:

if (keyboard_check_direct(((vk_up)))){
        vspeed = -2;
        sprite_index=spr_Nadando_Derch
    }


por cierto se me olvido decir que uso la version Game Maker 8 y soy un novato con Mayusculas, lo digo porque la mayoria de las veces suelo poner hasta botones en vez de codigos porque me hago un lio tremendo  aunque pille algunas cosas basicas como añadir teclados o sprite por lo demas poca cosa hago con codigos, solo botones.


                                                saludos

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado BssString

Respuesta #1 en: Marzo 25, 2020, 03:19:49 pm
Hola masalaja

Se me ocurre que tu problema puede estar causado por cualquiera de estas dos situaciones:

1- Si la imagen se queda quieta y no avanza, puede ser que hayas usado esta función en alguna parte para detener la animación:
image_speed = 0
Identificala y eliminala. O si la necesitas, asignale valor 1 cada vez que cambies a un nuevo sprite para re-activar la animación.

2- Si ese no era el caso, lo que veo más probable es que hayas puesto mal el "Draw Event".
Revisa que en el "Draw Event" estés dibujando correctamente el sprite actual con:
draw_sprite(sprite_index,image_index,x,y)
Si has usado "0" en vez de "image_index", eso causaría que se está dibujando el sprite actual, pero sólo el frame 0, sin dibujar al resto de la animación.
Nota: Si no tienes "Draw Event", por defecto Game Maker automáticamente te dibuja el sprite actual y el frame actual de la animación que tiene asignado tu objeto.

Saludos

 


Desconectado Black_Cat

Respuesta #2 en: Marzo 25, 2020, 06:14:34 pm
usualmente ocurre que ese tipo de codigo esta en el evento step para verificar constantemente la tecla y cambiar el sprite, normalmente ocurre que en cada step, se ejecuta el codigo de asignacion:
sprite_index = spr_Nadando_Derch;
por lo que, al estar asignandose constantemente, la animacion no corre, puesto que se asigna, comienza la animacion pero no le da tiempo a animarse entero.
esa podría ser otra causa, se soluciona verificando de que el sprite solo se asigne cuando es uno diferente:
if (sprite_index != spr_Nadando_Derch)
    sprite_index = spr_Nadando_Derch;


 


Desconectado masalaja

Respuesta #3 en: Marzo 25, 2020, 07:26:29 pm
La Verdad me esta costando la misma vida aprenderme todo esto es horroroso a pesar de que en parte me guste por ello sigo pero e decidido coger otro metodo, a base de crear objetos en vez de sprites pero e aqui mi problema, cuando mi personaje anda por la pantalla se enfoca en el pero al cambiar de objeto este no lo sigue la camara y sale de pantalla sin verse, ¿ que codigo le podria meter para que cuando cambie de objeto siga siendo visible? gracias por vuestra paciencia y saludos :(

 


Desconectado Black_Cat

Respuesta #4 en: Marzo 26, 2020, 06:56:17 am
Usar objetos en vez de sprites va a empeorar el problema, más aún cuándo tengas que gestionar las colisiones.
Probaste algunas de las soluciones que propusimos anteriormente?

Te recomiendo ver tutoriales en youtube de cosas básicas hechas en game maker, por suerte en ese aspecto cualquier version sirve, la 5 6 7 8 Studio. Asi que tenes hartos recursos.
Otra opcion es usar los bloques para crear un juego sencillo y rehacerlo pero usando código, sería como traducirlo de uno a otro.


 


Desconectado masalaja

Respuesta #5 en: Marzo 26, 2020, 07:19:33 am
mi coraje es que lo que se me resiste son las cosas mas simples que veo a cualquier novato le sale que son, nadar y subir escaleras, solo por esas 2 llevo una semana y media. Lo estoy intentando con botones porque vi por youtube que lo hacen con codigos y en el nuevo game maker que por cierto vi que es mucho mas dificil que el game maker 8 que es el que uso.

 


Desconectado Black_Cat

Respuesta #6 en: Marzo 27, 2020, 11:44:33 am
Yo use  :GM5.  :GM6:  :GM7:  :GM8:  :GMS: y te aseguro que para subir escaleras o cambair sprites es igual, ninguno es más dificil

Ahora estaria mejor si pones el código o lo que fuera


 


Desconectado masalaja

Respuesta #7 en: Marzo 28, 2020, 07:23:47 am
al final consegui avanzar mucho en mi juego poniendo escaleras y nadando ni idea como lo consegui a base de ver a uno y otro mezclaba codigos y me termino saliendo ahora tengo otra duda haber si saben, quiero que cuando el personaje dispare se quede quieto y cree un movimiento, pero en vez de eso el personaje sigue caminando y dispara pero sin verse el movimiento cuando camina solo se aprecia cuando se queda quieto, les agradeceria si alguien sabe.


saludos

 


Desconectado FernandoNavarro

Respuesta #8 en: Marzo 28, 2020, 07:59:34 am
al final consegui avanzar mucho en mi juego poniendo escaleras y nadando ni idea como lo consegui a base de ver a uno y otro mezclaba codigos y me termino saliendo ahora tengo otra duda haber si saben, quiero que cuando el personaje dispare se quede quieto y cree un movimiento, pero en vez de eso el personaje sigue caminando y dispara pero sin verse el movimiento cuando camina solo se aprecia cuando se queda quieto, les agradeceria si alguien sabe.


saludos

Hola, es menos complicado de lo que parece, necesitas que la variable que usas para mover al personaje se actualice sólo mientras no estés atacando, de esa forma el personaje se queda quieto, realiza el ataque y vuelve a moverse cuando finalice la animación.

 


Desconectado masalaja

Respuesta #9 en: Marzo 28, 2020, 02:47:46 pm
Hola, es menos complicado de lo que parece, necesitas que la variable que usas para mover al personaje se actualice sólo mientras no estés atacando, de esa forma el personaje se queda quieto, realiza el ataque y vuelve a moverse cuando finalice la animación.

estoy en ello haber si me sale. Por cierto, no pretendo ser pesado pero tambien estoy creando una fuente de texto para los scores y cuando sale en pantalla se ven horrorosamente mal, se ven super borrosos casi no se pueden ni ver las letras,  ¿A que se debe esto?

 


Desconectado FernandoNavarro

Respuesta #10 en: Marzo 29, 2020, 03:40:52 am
Creo que es por el antialiasing, en las propiedades de la fuente hay una opción, intenta a activar o desactivar la opción.

 


Desconectado masalaja

Respuesta #11 en: Marzo 30, 2020, 12:34:57 pm
Poco a poco voy viendo cosas nuevas aunque me esta costando bastante como por ejemplo. Eh creado una especie de iman para que algunos personajes me sigan pero cuando hago un change instance a mi personaje para cambiar, estos personajes imanes me tira un error porque no detecta al personaje, ¿Ahi algun modo de que esto no ocurra?

 


Desconectado masalaja

Respuesta #12 en: Marzo 31, 2020, 11:23:22 am
ya casi estoy acabando el juego pero cuando cambio de room al siguiente nivel  el marcador score se vuelve a 0, ¿Que debo hacer para que se conserve la puntuacion?

saludos

 


Desconectado FernandoNavarro

Respuesta #13 en: Abril 01, 2020, 12:45:04 am
Probablemente es porque al cambiar de room el objeto del personaje se crea otra vez, intenta marcando la casilla de persistencia en las propiedades del objeto. Pero si por alguna razón necesitas que el personaje se cree otra vez, te recomiendo usar archivos de texto, y que el personaje cargue sus valores desde ahí. Revisa la documentación en el apartado de Files Handling (manejo de archivos).