Tengo un juego de seleccion multiple, tengo 3 objetos que crean las imagenes aleatoriamente, y otro que copia el sprite de uno de esos 3 objetos que llamare fijos, y un 4to objeto que llamare movil, cuando creo los eventos de colision si pongo que se reste el room a colisionar con los objetos asi lo haga con el que no coincida se producira la accion.
Si hubiese un codigo que me permita que el objeto movil colisione solo con el objeto fijo al que corresponta seria de mucha utilidad.
Gracias de antemano
Escribe esto en el evento de colisión de uno de los objetos:
[gml]
if( image_index == other.image_index )
{
//Acciones
}
[/gml]
Con ese código las acciones se repetirán mientras los dos objetos estén en contacto, para ejecutar las acciones sólo una vez, cuando colisionen por primera vez, debes agregar otra variable en el evento Create, por ejemplo contacto = false y cambiar el código anterior por el siguiente:
[gml]
if( image_index == other.image_index and contacto == false )
{
contacto = true;
//Acciones
}
[/gml]
Gracias x la ayuda, he utilizado el objeto movil, he puesto el evento de colision con uno de los objetos fijos y he creado el evento create como me has dicho, pero me arroja el siguiente error, no se que he hecho mal, segun veo el error es con el evento contacto pero mis muy limitados conocimientos no me permiten hacer mas nada, aunque el codigo lo entiendo mas o menos.
Push :: Execution Error - Variable Get -1.contacto(100000, -1)
at gml_Object_obj_fijo1_Create_0 (line 2) - if( image_index == other.image_index and contacto == false )
Pd: Gracias x el aviso para que colocara el icono
Falta declarar la variable en el evento Create
[gml]contacto = false;[/gml]