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.

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.
CREADOR DE JUEGOS GM.


- Como hacer preguntas inteligentes
- Reglamento General

HOLA COMUNIDAD,HOLA A TODOS




uso game maker 8 pro 8) y game maker studio Master Collection


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
Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala

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.

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.

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.

Lo de vspeed era para que el usuario ascendiera o bajara de las lianas, aun asi, de nada.

#7 Noviembre 22, 2012, 10:43:39 PM Ultima modificación: Noviembre 22, 2012, 10:45:59 PM por malissimofilms
Fallo tonto mio, queria introducir en el titulo (solucionado) pero en vez de modificar le di a citar.

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.