Download Salto. En el evento Créate, declara la variable Tsalto

Document related concepts
no text concepts found
Transcript
Salto.
En el evento Créate, declara la variable Tsalto para limitar el salto en el juego.
Luego en el evento step (step se ejecuta cada vez que se refresca la pantalla, es decir el juego
está a 30 frames por segundo , step se ejecuta 30 veces en un segundo) del objeto, agregamos
al evento step un execute code desde la pestaña control
Línea número 6 del código: si se presiona la tecla up y además Tsalto es igual a 0 (cuanto
Tsalto es 0 quiere decir que se puede saltar), hacemos vspeed =-12 (vertitical speed o
velocidad vertical, esto es la fuerza del saldo) y hacemos Tsalto=100 (en realidad puede ser
cualquier numero distinto de 0 ya que necesitamos no se cumpla la condición if y así no salte
más de una vez el personaje)
La línea número 11 del código: solo si t salto es mayor de 0 (es decir que no sea 0) y la
gravedad es igual a 0, hacemos que Tsalto sea 0 para que la próxima vez que se ejecute el
personaje pueda saltar.
Ahora que creamos el código para saltar, es necesario agregar la gravedad y para que asi
Ahora desde la pestaña control agregamos if a position collision free, esto nos responderá si
es que existe un objeto solido debajo de nuestro personaje.
El valor y:1es para los objetos un pixel por debajo de nuestros personaje , objects: only solid
es para hacer la colision solo con los objetos marcados como solidos.
Luego de eso se ingresa desde la pestaña move. Ingresamos set gravity
Applies to ingresamos self, para que se aplique sobre sí mismo, en dirección ingresamos 270
grados. Para que la dirección de la gravedad sea hacia abajo, luego en gravedad el valor es 1
(en esta opción se pueden ingresar valores decimales como 0.5, pueden probar valores y dejar
el que más les guste o acomode)
Luego ingresamos desde la pestaña control La opción else, esto funcionara como una
respuesta a la pregunta “if collision free” (si hay un espacio libre de colisiones), el else hace la
función si es que no hay un espacio libre, para eso ingresamos set gravity: 0
Al igual que antes ingresamos la dirección 270, y lo aplicamos sobre sí mismo, pero en esta
ocasión hacemos que la gravedad sea 0, ya que se ha activado la sentencia else y esto quiere
decir que no hay espacio libre bajo nuestro personaje y ha colisionado, si dejásemos la
gravedad en 1 nuestro personaje atravesaría el suelo.
Ya por último desde la pestaña control hacemos un test variable y preguntamos si la
velocidad vertical es mayor que 12
En este caso en variable ponemos el nombre de la variable a consultar, esta será vspeed ya
que queremos saber sobre la velocidad vertical. En value ingresamos el valor 12 que será
nuestro máximo, por último en operation ingresamos grater tan , esto preguntara lo siguiente
La velocidad vertical es mayor que 12?
Si esto ocurre la limitaremos a 12 para que no tenga una aceleración infinita. Para esto desde
la pestaña control hacemos set vertical speed
Y nuestro valor será 12.
Ahora crearemos nuestro solido donde caminara nuestro personaje principal, para esto
añadimos un sprite
He creado un objeto solido con un borde rojo y sin fondo. Ahora creamos nuestro objeto
solido
Es muy importante que para que nuestro objeto solido no se vea en la room desmarquemos la
casilla visible y marquemos la casilla solid.
Por ultimo sobre los eventos de nuestro personaje principal agregamos el evento collision , y
elegimos nuestro objeto solido recién creado
Ahora solo queda ingresar los valores move to contact que están en la pestaña move
Y ingresamos los valores direction, con el máximo de velocidad que puede obtener nuestro
personaje. Y finalmente ingresamos vertical speed: 0 desde la pestaña move
Con esto nuestro personaje debería poder saltar de forma correcta