Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: XXaviXX en Diciembre 24, 2014, 08:50:29 AM

Título: Cambiar el sprite de un objeto a corta distancia y presionando tecla
Publicado por: XXaviXX en Diciembre 24, 2014, 08:50:29 AM
Hola:

Estoy intentando que el jugador al encontrarse un pedestal con una bola. Al acercarse y presionar la tecla abajo. Cambie el sprite.
El código está puesto en el objeto pedestal en un create.

///Quitar la bola del pedestal

if distance_to_object(obj_player)=0 && keyboard_check(vk_down)
{
sprite_index = spr_pedestal
}


He mirando otras respuestas en el foro, pero no me acaba de funcionar.

Otra cosa que no entiendo que no me funcione, es que la hacer el pedestal he puesto una bola que  esté en suspension, con una subimagen para que haga el efecto. El efecto en el preview me funciona bien, pero a la que lo pongo en la room no me hace la animación como yo quiero.

Le he puesto una:

image_speed = 3;

Y nada.

Gracias.
Título: Re:Cambiar el sprite de un objeto a corta distancia y presionando tecla
Publicado por: penumbra en Diciembre 24, 2014, 10:58:57 AM
image_speed = 3 es una velocidad demasiado alta: 3 subimágenes por cada step. Más bien debería ser algo como 0.3

La condición no funciona porque el player tendría que estar EXACTAMENTE a 0 pixeles de distancia, cosa muy difícl de lograr, es mejor cambiarlo a distance_to_object(obj_player) < 50, por ejemplo

Título: Re:Cambiar el sprite de un objeto a corta distancia y presionando tecla
Publicado por: XXaviXX en Diciembre 24, 2014, 11:18:04 AM
Lo he probado y siguie sin funcioinar. El código está en el objeto pedestal_bola en un evento create. ¿Puede ser ese el problema?

¿O lo tendría que poner el script del obj_player?
Título: Re:Cambiar el sprite de un objeto a corta distancia y presionando tecla
Publicado por: Clamud en Diciembre 24, 2014, 05:43:12 PM
Por supuesto que ese es el problema, el código debe estar en un evento que se ejecute constantemente, como el evento Step. El evento Create sólo se ejecuta una vez por room.
Título: Re:Cambiar el sprite de un objeto a corta distancia y presionando tecla
Publicado por: XXaviXX en Diciembre 29, 2014, 05:16:36 PM
Gracias! He hecho en el obj_pedes_bola un evento step con el código y funciona perfectamente.

Ahora lo que estoy intentando es que al coger la bola cambie el sprite del jugador a la de un sprite con la bola cogida.

¿Tengo que crear un nuevo step  o con begin step con el cambio de sprite? (así no me ha funcionado).

También estoy teniendo problemas con el cambio de sprite para que vuelva a salir el pedestal con la bola.

Gracias!
Título: Re:Cambiar el sprite de un objeto a corta distancia y presionando tecla
Publicado por: XXaviXX en Febrero 04, 2015, 10:46:06 AM
Hola retomo el tema. He vuelto a intentar el cambio de sprite, pero no me deja volver al sprite inicial. Resumo.

Objeto jugador se acerca a objeto pedestal con una bola. Presiono la tecla "abajo" y se produce un cambio de sprite en el objeto pedestal. Ahora hay un pedestal sin la bola. Hasta aquí bien. El problema viene cuando intento volver a presionar abajo y que el objeto pedestal vuelva al sprite con la bola.

He puesto en el objeto pedestal un evento step el código. ¿Dónde tengo que poner el código para que vuelva la bola al pedestal, en un begin step, end step...? ¿O en el mismo script?

La verdad que me está costando saber donde poner el código correctamente.

¡Gracias!