Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: kaliman777 en Octubre 14, 2012, 08:47:37 PM

Título: Ayuda sobre vspeed que decrece hasta cero
Publicado por: kaliman777 en Octubre 14, 2012, 08:47:37 PM
Hola a tod@s:

Tengo un objeto que al crearse inicia con vspeed=0, y también le puse WRAP SCREEN VERTICALLY, ya saben que al salir por abajo de la pantalla, regresa por arriba.

Quiero que me ayuden a hacer lo siguiente, por favor:

1) Al presionar el botón START, creado por mí para iniciar los movimientos del objeto, quiero que la vspeed=10 y que enseguida decrezca hasta llegar a cero (es decir, bajará despacio por la room, si no le doy a parar sigue y sale de  nuevo por arriba).
2) Si presiono PLAY inicie de nuevo con vspeed=10 y decreciendo de donde haya quedado cuando paró.

Resumiendo: PLAY lo hace vspeed=10 y decreciente hasta cero, cada vez.

Gracias
Título: Re:Ayuda sobre vspeed que decrece hasta cero
Publicado por: noshy en Octubre 14, 2012, 09:07:11 PM
Hola colega, es muy facil, al presional el boton seteas la variable vspeed=10 y en el evento step vas decreciendo la variable hasta 0.


if (vspeed>0) {
  vspeed -= 1;
}


En este ejemplo, le resto uno, pero puedes restar el valor que quieras, siempre y cuando la resta de siempre 0, por ejemplo, no puedes destar de a 0.6 porque no te daria 0 nunca, pero si puedes restas 0.5 que si e daria 0, saludos.

en caso de que restes un multiplo que no de cero en la resta el codigo quedaria asi:


if (vspeed>0) {
  vspeed -= 1;
} else {
  vspeed = 0;
}

Título: Re:Ayuda sobre vspeed que decrece hasta cero
Publicado por: MONT en Octubre 17, 2012, 05:26:06 AM
De hecho, se puede hacer mas fácil aún.
Dado que hablamos de movimiento; ocupa la acción Set Friction, dale un valor, y hará lo que quieres por si solo sin recurrir a codigos.
Saludos
Título: Re:Ayuda sobre vspeed que decrece hasta cero
Publicado por: kaliman777 en Octubre 24, 2012, 08:40:58 PM
Cita de: MONT en Octubre 17, 2012, 05:26:06 AM
De hecho, se puede hacer mas fácil aún.
Dado que hablamos de movimiento; ocupa la acción Set Friction, dale un valor, y hará lo que quieres por si solo sin recurrir a codigos.
Saludos

Gracias a ambos. En ambos casos se logra detener despacio. Sólo que usando la opción de noshy me permite utilizar la condición "if vspeed=0"{...}. En cambio usando fricción, el juego no me respondió a cierta instrucción.

Gracias de nuevo, perdonen que tardo en responder, es que uso un modem satelital, ya saben una USB, je je y me cobran casi $1 por hora de conexión.

Saludos a todos los caballeros y a las señoritas de la comunidad (Sólo conozco de Silver_Ligth XD).