Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: matiascarpello en Mayo 15, 2015, 01:39:33 PM

Título: Comprobar velocidad de un objeto desde otro objeto
Publicado por: matiascarpello en Mayo 15, 2015, 01:39:33 PM
Hola gente, tengo un problema y quisiera saber como aplicarlo.

Tengo un objeto controlador y con el controlo la mayoría del funcionamiento del juego.

En ese objeto control necesito hacer un if sobre el objeto player.  Es decir, necesito desde el objeto control comprobar la velocidad del objeto player.

Lo que tengo que verificar es lo siguiente.

if speed=0 {room_restart()} // Si la velocidad del jugador es igual a cero entonces reiniciar la room

EL código es a modo de ejemplo pero eso es lo que quiero hacer pero desde el objeto controlador. Sería fácil pegar el código directamente en el evento step del jugador, pero tengo mis razones de porque tengo que comprobarlo desde el objeto control.

Mi problema es justamente que no se como aplicar eso desde un objeto que no sea el del jugador.
Título: Re:Comprobar velocidad de un objeto desde otro objeto
Publicado por: king195 en Mayo 15, 2015, 01:47:47 PM
Si no nos dices esas razones pues cuesta más que te podamos ayudar.

Create Event
global.evento_speed = false;

Step Event
if (speed == 0){
   global.evento_speed = true;
}



If (global_evento_speed == true) {
//Accion
}



Otra forma


//Poner aqui las otras condiciones del control
with(obj_player){
  if(speed == 0){
     room_restart();
  }
}


Título: Re:Comprobar velocidad de un objeto desde otro objeto
Publicado por: Clamud en Mayo 15, 2015, 03:21:07 PM
Sólo coloca éste código
[gml]
if( obJugador.speed == 0 ) room_restart();
[/gml]
Título: Re:Comprobar velocidad de un objeto desde otro objeto
Publicado por: javcdark en Mayo 16, 2015, 08:17:33 AM
Cita de: Clamud en Mayo 15, 2015, 03:21:07 PM
Sólo coloca éste código
[gml]
if( obJugador.speed == 0 ) room_restart();
[/gml]

↑↑↑
solo remplaza "obJugador" por el nombre del objeto de tu player, por ejemplo si mi player se llama "juanito", el codigo quedaria asi

[gml]
if( juanito.speed == 0 ) room_restart();
[/gml]

otro tip es que para saber algun elemento especifico del "player" primero tienes que poner el nombre del objeto player seguido de un punto y despues la funcion/variable o lo que quieras comprobar/editar

ej.

juanito.direction
juanito.speed
juanito.x
...