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.
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
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.
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.