Scripts y las ventajas de su uso

2/14
Recursos
Transcripción

Aportes 11

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

yo solo le hice así, para poder utilizar el ADWS:
function scr_get_input(){
Right = keyboard_check (ord (“D”))
Left = keyboard_check (ord (“A”))
Up = keyboard_check (ord (“W”))
Down = keyboard_check (ord (“S”))
}
//y en Step, del Player, en if solo le puse el nombre ya otorgado:
if (Right)
{
x = x+spd;
sprite_index = spr_Bat_Running
image_xscale = 1;
}

else if (Left)
{
x = x-spd;
sprite_index = spr_Bat_Running;
image_xscale = -1;

//a si asta llegan al final, con el código

2 Scripts y las ventajas de uso

Los scripts son los bloques de código que nos permitirá reutilizarlo a lo largo de la creación de nuestros objetos, algo que sepamos que va a ser recurrente, como la implementacion de la lectura de el teclado entre otros.

Lo usaremos de manera que se vuelva mas eficiente la creación de estos mismos. Para este caso crearemos un script de el movimiento de nuestro jugador y lo haremos en el apartado de scripts en la venta de navegador de archivos, y seguiremos los sig pasos.

  1. Presionaremos crear, y posteriormente crearemos un script, y renombraremos el script como scr_get_input

  2. Del objeto first player, tomaremos el codigo que teniamos en nuestros condicionales if, y les asignaremos las variables: right, left, up, down, dando sentido a las direcciones en que se movera, para ello crearemos estas variables en el script, y aqui pegaremos los codigos que se encontraban en cada correspondiente direccion del first player.

  3. Posteriormente, en el codigo de nuestro objeto first player, en la parte de step, procederemos a colocar al principio de todo el apartado la sig linea: scr_get_input(); aqui llamaremos al script que realizamos con anterioridad, y en los condicionales quitaremos los demas codigos y simplemente sustituiremos con las variables**, right, left, up ,down.**

aquí les dejo mi código:
#region//control de movimiento
scr_get_imput();
if(right)
{
x = x + vel;
sprite_index = spr_gobllin_walking;
image_xscale = 1;
}else if(left)
{
x = x - vel;
sprite_index = spr_gobllin_walking;
image_xscale = - 1;
}else if (up)
{
y = y - vel;
sprite_index = spr_gobllin_walking;

}else if(down)
{
y = y + vel;
sprite_index = spr_gobllin_walking;

}

else{
sprite_index = spr_goblin_idle;
}
#endregion

En mi caso utilicé un switch para la función src_get_input()

function scr_get_input(){
switch(keyboard_key){
case ord(“A”): x -= spd; break;
case ord(“D”): x += spd; break;
case ord(“W”): y -= spd; break;
case ord(“S”): y += spd; break;
default: sprite_index = spr_punk_idle;
}
}

Si quieren poder usar tanto flechas del teclado como ASDW escriban este código y podrán moverse usando la forma que gusten, ya sea con flechas o ASDW.

Creando scripts

Antes de pasar a echar unas cuantas líneas de código vamos a darle un vistazo a los sitios donde nuestros scripts están presentes, dándonos una vista general de que podemos hacer con los mismos dependiendo de la situación.

Creando scripts dentro de un evento

Dentro de un objeto existen eventos asociados al mismo, donde estos eventos pueden contener un script o contener una acción que llame a uno de estos. Esta será la única ocasión donde la funcionalidad de Arrastrar y Soltar será utilizada para los scripts.

Para agregar un script a un evento primero debemos crear un objeto desde nuestro menú de recursos y una vez creado utilizamos el botón agregar evento para crearlo:

Scripts
Hemos hablado de los principales recursos que podemos utilizar en nuestros juegos: imágenes que utilizamos para los fondos o los objetos que programamos, sonidos, habitaciones dónde colocar los objetos… Ahora ya tocaría empezar a usar código GML, ya que hemos visto cómo creamos eventos y acciones.
Pero antes de mirar el lenguaje propio de Game Maker Studio, debemos de pararnos un momento para ver que son los scripts. Game Maker tiene un montón de funciones que podemos utilizar, pero es posible que en algún momento necesitemos crear nuestras propias funciones, para utilizarlos en diferentes sitios como en objetos, rooms, etc. Estas funciones, que las usamos para hacer cosas específicas, las añadimos en el árbol de recursos, en la carpeta de scripts.

Para que no me saliera error. le aplique:
**right = keyboard_check(vk_right);
left = keyboard_check(vk_left);
up = keyboard_check(vk_up);
down = keyboard_check(vk_down); **
en object del personaje. Es raro que me salga error por eso xD Pero bueno, lo dejo por si alguien le pasa lo que a mi.

Un pequeño aporte que va de la mano de otras contribuciones de compañeros:

User el operador OR representado por || para que el programa detecte ambas, las flechas y el WASD. Noten tambien que ya que son 2 expresiones, hay que enserrarlas en un parentesis.

right = (keyboard_check(vk_right)) || keyboard_check(ord(“D”));

prueba marcadores