Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: venus en Septiembre 08, 2015, 09:17:22 PM

Título: ¿Que falla? (place_meeting)
Publicado por: venus en Septiembre 08, 2015, 09:17:22 PM
Esto se ejecuta en el evento step de obj_planeta:
if(mouse_check_button(mb_left) && place_meeting(x,y,obj_controlador)) {
  acciónes que realiza obj_planeta
}



- Si quito la función place_meeting el código se ejecuta sin problemas.
- obj_planeta no tiene sprite. Lo dibuja en la función draw antes de el código anterior. obj_controlador si que tiene sprite.
- Hice un tema al respecto antes pero sigo sin encontrar mi error. Será alguna tontería pero entre esto y que he perdido la cuenta estoy bloqueadísimo.
Título: Re:¿Que falla? (place_meeting)
Publicado por: kostra en Septiembre 08, 2015, 09:20:41 PM
si no tiene sprite, no tiene mask, no hay colision
Título: Re:¿Que falla? (place_meeting)
Publicado por: venus en Septiembre 08, 2015, 09:47:59 PM
Si yo le coloco un sprite, cuando el evento draw se ejecuta este desaparece. ¿Sigue funcionando?
Título: Re:¿Que falla? (place_meeting)
Publicado por: penumbra en Septiembre 08, 2015, 09:49:33 PM
sí, aunque el objeto esté marcado como invisible, o tenga un alfa 0, o no se dibuje porque hay mas código en draw o falte draw_self(), lo que cuenta es que tenga una máscara válida.
Título: Re:¿Que falla? (place_meeting)
Publicado por: Marth en Septiembre 09, 2015, 12:15:02 AM
Tendrás que asignarle al objeto un sprite para que pueda tener condicionales y eventos de colisión.
Luego si quieres mostrarlo existiendo un evento draw usa la función draw_self()