Hola.
Tengo un objeto que va caminando hacia la derecha cuando esta libre o cuando hay un objeto con su mismo nivel de habilidad en la misma dirección, el problema es: ¿Cómo puedo comparar el nivel del objeto que esta a la derecha?
No se cómo encontrar ese objeto específicamente para comparar el nivel de habilidad con el de mi personaje.
Cualquier idea es aceptada :) y creo sirve con cualquier GM, no sólo con el Studio
Suponiendo que todos los enemigos son el mismo objeto:
if instance_exists(objeto_de_enemigos)
{
enemigo=instance_nearest(x,y,objeto_de_enemigos)
if enemigo.x>x //significa que está a la derecha
{
nivel_enemigo=enemigo.nivel
}
}
Si no, haces que todos los enemigos sean parent de objeto_de_enemigos y ya funcionará.
Un saludo!
De hecho, es imposible manipular una variable sin conocer el objeto, a menos que esa variable sea global. En el ejemplo de Mega G primero se trata de conocer el enemigo y luego de eso se consulta la variable. También se puede así (igual, los enemigos tienen que ser todos de un objeto o todos los objetos enemigos tener un padre en común)
with (obj_parent_enemy)
{
if obj_parent_enemy.x>x
nivel_enemigo = enemigo.nivel
}
Cita de: p34 en Marzo 31, 2014, 05:16:57 AM
Cualquier idea es aceptada :) y creo sirve con cualquier GM, no sólo con el Studio
En GM8.1 se podía usar una función como
variable_local_exists() para preguntar si dentro de algún objeto existía cierta variable, pero este tipo de funciones se volvieron obsoletas en GM:Studio y ya no se pueden usar, aunque si usas gm8.1 todavía puedes aprovecharlas