Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: wilmerroa en Noviembre 08, 2018, 06:50:14 AM

Título: Mover personaje a la posicion Y de distintos objetos, haciendo click {RESUELTO}
Publicado por: wilmerroa en Noviembre 08, 2018, 06:50:14 AM
Saludos Cordiales:

Necesito ayuda con esto, miren, tengo 3 objetos (botones ) iguales en la misma posición en X, sin embargo su posiciones en Y son distintas, lo que quiero es que cada uno establezca una posición diferente uno del otro, con tal de que al hacer click encima de uno , mi personaje vaya a su coordenada en Y, y que la posicion en X de mi personaje se mantenga. aqui dejo un boceto de como se ve el juego mas o menos.

Como ven son 3 coordenadas para 3 carriles
(https://image.ibb.co/dycGnq/Juego.jpg)

Codigo del Personaje
Create

enum mouse {
    none
}
xx =mouse.none;
yy =mouse.none;
spd = 5;


STEP
if (xx != mouse.none && yy != mouse.none){
move_towards_point(xx,yy,spd);
}
else{
speed = 0
}

if (distance_to_point(xx,yy) < spd ) {
xx = mouse.none;
yy = mouse.none;

}

if yy = 315{     /// Como ven solo eh podido establecer una sola
speed = 5;      /// posicion en Y de uno de los botones , no se como
}                    /// agregar las 3 coordenadas para que el personaje
else {             /// solo se mueva si es cualquiera de esas 3, sino no.
speed = 0;
}



Codigo de los 3 objetos ( Botones ) hacia el Player: solo cambia la coordenada en Y de cada uno
EVENTO MOUSE LEFT BUTTON
xx = obj_player.x;
yy = 315 ;
Título: Re:Mover personaje hacia la posicion Y de distintos objetos, haciendo click
Publicado por: 3dgeminis en Noviembre 08, 2018, 07:05:12 PM
Tendrias que obtener la id del boton que seleccionas, y ver si el jugador esta mas arriba, abajo, o al mismo nivel que el boton.
[gml]
/// CREATE //////////////////

boton_id=0
mover=false
velocidad=5

/// STEP //////////////////

if mouse_check_button_pressed(mb_left)
   {
    boton_id=instance_position(mouse_x, mouse_y, OBJETO_BOTON)
    if (boton_id>0 and y!=boton_id) {mover=true} else {mover=false}
   }

if mover=true
   {
    repeat(velocidad)
       {
        if y!=boton_id.y {y+=sign(boton_id.y-y)} else {mover=false}
       }
   }
[/gml]
Título: Re:Mover personaje hacia la posicion Y de distintos objetos, haciendo click
Publicado por: wilmerroa en Noviembre 09, 2018, 06:31:45 PM
Muchas Gracias 3dgeminis , era exactamante lo que necesitaba !!