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