Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: malissimofilms en Noviembre 21, 2012, 10:00:12 AM

Título: Cambiar de Sprite al colisionar con un objeto
Publicado por: malissimofilms en Noviembre 21, 2012, 10:00:12 AM
Buenas, tengo otra duda XD y es sobre los Sprites, he estado buscando respuesta en el foro pero no he encontrado nada.  Me gustaría saber que tengo que hacer para que cuando mi personaje colisione con un objeto, por ejemplo una liana para trepar, cambie de sprite y cuando se aleja del objeto vuelva al sprite que tenía antes.

Y por último, cuando el personaje esta en la liana me gustaría que cuando presione el botón de subir y bajar cambiara el sprite para que parezca que el personaje esté escalando. Y cuando deje de presionar los botones que este con el sprite de sujetarse en la liana.
Título: Re:Cambiar de Sprite al colisionar con un objeto
Publicado por: Creador de juegos GM en Noviembre 21, 2012, 04:11:52 PM
YO SÉ RESPONDER LA ULTIMA,PON:COLISIÓN CON LLANA (O LO QUE SÉA) Y PON UN CODE QUE CON
LA TECLA (QUE SE YO) VALLA ARRIBA O ABAJO (NO SÉ EL CODE) Y LUEGO UN SPRITE_INDEX (SPRITE
QUE SE YO).
SPERO QUE TE SIRVA CUALQUIER COSA PREGUNTAME.
Título: Re:Cambiar de Sprite al colisionar con un objeto
Publicado por: somnus en Noviembre 21, 2012, 08:05:38 PM

bueno puedes hacer 2 cosas:

1 que cuando tu sprite colisione con la liana este cambie totalmente de sprite, al que se ve agarrado

2 o que tu sprite tenga los diferentes frames de animacion dentro de el, si es asi solo cambiarias el sprite index de dicho sprite

por ejemplo si los frames son del 5 al 8 para moverse hacia arriba entonces cuando estes en la liana tienes que poner el codigo necesario para que se muestren solo esos frames del 5 al 8, no se si me explico
Título: Re:Cambiar de Sprite al colisionar con un objeto
Publicado por: malissimofilms en Noviembre 22, 2012, 09:57:31 PM
Uff, podríais escribir el código, es que no se mucho de programación XD. Sobre los sprites pues yo no junto todos los movimientos del personaje en una sola imagen, los separo.
Título: Re:Cambiar de Sprite al colisionar con un objeto
Publicado por: xKeiside en Noviembre 22, 2012, 09:33:54 PM
Lo de la liana seria algo asi.


if distance_to_object(liana)=0 {
sprite_index = TUSPRITE;
}


Lo de escalar seria algo asi.


if distance_to_object(liana)=0 and keyboard_check(vk_up) {
sprite_index = TUSPRITESUBIENDO;
vspeed: -2;
}
if distance_to_object(liana)=0 and keyboard_check(vk_down) {
sprite_index = TUSPRITEBAJANDO;
vspeed: 2;
}


Seguramente habra algun error, pero por probar.
Título: Re:Cambiar de Sprite al colisionar con un objeto
Publicado por: malissimofilms en Noviembre 22, 2012, 10:35:54 PM
Cita de: xKeiside en Noviembre 22, 2012, 09:33:54 PM
Lo de la liana seria algo asi.


if distance_to_object(liana)=0 {
sprite_index = TUSPRITE;
}


Lo de escalar seria algo asi.


if distance_to_object(liana)=0 and keyboard_check(vk_up) {
sprite_index = TUSPRITESUBIENDO;
vspeed: -2;
}
if distance_to_object(liana)=0 and keyboard_check(vk_down) {
sprite_index = TUSPRITEBAJANDO;
vspeed: 2;
}


Seguramente habra algun error, pero por probar.

Me ha funcionado :D, en el último código he quitado los dos vspeed porque me daba error.
Título: Re:Cambiar de Sprite al colisionar con un objeto
Publicado por: xKeiside en Noviembre 22, 2012, 10:41:37 PM
Lo de vspeed era para que el usuario ascendiera o bajara de las lianas, aun asi, de nada.
Título: Re:Cambiar de Sprite al colisionar con un objeto (Solucionado)
Publicado por: malissimofilms en Noviembre 22, 2012, 10:43:39 PM
Fallo tonto mio, queria introducir en el titulo (solucionado) pero en vez de modificar le di a citar.
Título: Re:Cambiar de Sprite al colisionar con un objeto (Solucionado)
Publicado por: xKeiside en Noviembre 22, 2012, 10:55:40 PM
Cita de: malissimofilms en Noviembre 22, 2012, 10:43:39 PM
Fallo tonto mio, queria introducir en el titulo (solucionado) pero en vez de modificar le di a citar.

Yo empeze ayer con el GML, y aprendi eso y poco mas. Te lo recomiendo.