hola buenas tengo una duda que me gustaria que me ayudaran ya que soy un poco manco :'( :'(
Bueno alguien sabe como mover de posición a un personaje pero que yo indique que distancia es la que se mueva y una vez que se cumple la distancia el personaje se pare.
por ejemplo quiero que se mueva 10 px al apretar una tecla, cuando oprima la tecla se empiece a mover y una vez que el personaje haya recorrido los 10 px correspondientes se detenga.
espero y me puedan ayudar y gracias por leer
Intento ayudarte. Pero no entendí NADA :-[
Explícate un poco más, "vocaliza" (pero si estás escribiendo...ah, da igual)
Ah, casi no veo lo que modificaste...xD
Bueno, según lo que entendí, podrías usar un ciclo while. Algo así:
En el evento create, define unas variables:
[gml]
mover = false;
[/gml]
En un evento alarm 0 escribe:
[gml]
mover = true;
[/gml]
En el evento de presionar una tecla, escribe:
[gml]
xx = x;
alarm[0] = 1;
exit;
[/gml]
Lo cual hará que cuando se presione, se almacene la posicion horizontal, y se active la variable mover.
por último. En Step:
[gml]
if mover
{
while(x < xx)
{
x +=2;
}
mover = !mover;
}
[/gml]
Y debería funcionar.
Saludos!
Al parecer lo que jonciverk2 necesita es mover una instancia de un punto a otro en un número determinado de steps, no automáticamente en uno solo. Una vez hice un script que, dentro de muchas otras cosas, hace exactamente eso:
http://www.comunidadgm.org/desarrollo-de-scripts/cambio-continuo-automatico-de-una-variable-entre-2-valores/
Bastaría llamar al script con estos argumentos:
argument0: "x"
argument1: personaje.x
argument2: personaje.x+d
argument3: steps
argument4: personaje
donde personaje es la id de la instancia que representa al personaje, d es el número de pixeles que quieres moverlo (negativo si es hacia la izquierda) y steps es el número de steps que quieres que le tome el movimiento.