Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Saga en Octubre 08, 2013, 11:54:18 AM

Título: Dudas varias de novato (Velocidad de objetos y asignación de sprites)
Publicado por: Saga en Octubre 08, 2013, 11:54:18 AM
Hola, soy nuevo en el foro y acabo de empezar con Game Maker. He estado viendo varios cursos para novatos en YouTube y probado mis primeras escenas con el programa.

Exactamente tengo 3 dudas:

· La primera relacionada con la velocidad de los sprites asignados a un objeto independientemente de la velocidad final de la escena, es decir, tengo un rotoscopeado (sprite) con varios frames de un personaje en posición de relax (frames de respiración) y otro con un ciclo de andado también con varios frames, estos asignados a un objeto "personaje" con sus eventos y acciones. La escena "Room" está a 30 frames pero me gustaría que estuviera a 60, pero incluso a 30 las animaciones, de unos 10 frames cada una,  van muy rápidas y me gustaría controlar su velocidad sin que el objeto dejara de moverse a esos 60 frames y a una velocidad óptima.

· La segunda va en relación a la resolución que quiero sacar que es 1920x1080, ya que tengo los gráficos preparados para esta a escala y me gustaría saber la velocidad óptima de los objetos para ese tamaño y como poder controlarla.

· y la tercera es como asignar a un (No key) el sprite de la dirección hacia donde mira mi personaje, es decir, si está en ciclo de andado a la derecha, que se pare en posición relax mirando a la derecha y viversa, y tambien para los eventos Up y Down, para que suba y baje mirando hacia donde caminaba.

Espero explicarme, si no no dudeis en decírmelo.
Muchas gracias y un saludo. ;)

EDIT: Una última duda que tengo es saber como exportar un ejecutable de una escena para mostrar mis pruebas a otra persona, para mandárselo. Gracias de nuevo.
Título: Re:Dudas varias de novato (Velocidad de objetos y asignación de sprites)
Publicado por: Karasuman en Octubre 08, 2013, 10:29:15 PM
Para lo primero puedes controlar la velocidad del sprite con image_speed para cada sprite al cual puedes asignarle un valor decimal o entero desde 0 hacia arriba.

Para los segundo tienes que ir probando con el image_speed, la que mejor te convenza.

Para lo tercero, puedes usar lo siguiente:

//si no se esta presionando la tecla derecha ni la tecla izquierda entra
if ((!keyboard_check(vk_left) and !keyboard_check(vk_right))){
    //Si el sprite actual no es del personaje quieto, y si estamos sobre el suelo entonces entra.
    if(sprite_index!=sprite_personaje_quieto and !place_free(x,y+1)){
        image_index=0;//Le colocamos 0, para que siempre comienze desde frame 0
        image_speed=0.5;//Velocidad deseada
        sprite_index=sprite_personaje_quieto;//Cambiamos al sprite del personaje quieto   
    }
}


Reitero lo del image_speed, tienes que ir probando valores hasta que alguno te convenza, y ponlo siempre antes de cambiar de sprite.

y para lo ultimo creas un ejecutable del juego con el rectangulo blanco con una flechita verde que esta al lado del boton guardar.
Título: Re:Dudas varias de novato (Velocidad de objetos y asignación de sprites)
Publicado por: Rauleti en Octubre 08, 2013, 10:49:50 PM
Sobre la tercera cuestion, en mi proyecto (también soy novato) me he encontrado con la misma incógnita, el personaje se tiene que quedar quieto, mirando hacia la dirección que viene caminando.

Tienes que usar variables. Están en la pestaña control de las acciones del objeto.
Puedes crear la variable "dirección" y darle un valor (con set variable) después de cada una de las cuatro acciones de movimientos, "up", "down", "right" y "left" por ejemplo.
Luego en el evento No Key chequeas esa variable (con test variable) para saber que sprite en relax has de colocarle dependiendo del valor de la variable "dirección".

Aclaraciones:
Si los valores de una variable no son numéricos los tienes que poner entre comillas.
tienes que crear un evento "Create" y darle un valor inicial a la variable con "set variable"

Espero que te sirva, si no, ya sabes... ;)
Título: Re:Dudas varias de novato (Velocidad de objetos y asignación de sprites)
Publicado por: Saga en Octubre 09, 2013, 08:08:07 AM
Ante todo gracias a ambos, me iré pasando por aquí para resolver dudas.

Bien, paso por paso, primero el control de la velocidad de los frames. He estado probando el set variable "image_speed" en mi objeto de personaje, indicando lo siguiente:

Events: Create, Actions: Set variable y dentro de Set Variable he escrito image_speed por un valor de 0.5, pero he probado y no cambia nada. Decir que tengo la escena a 60 frames pues el objeto se mueve como quiero, no obstante los frames siguen yendo follaos y nada cambia, he probado en poner un valor de 0.05 y lo mismo, sigue igual de rápido como si estuviera al 1.

¿Hay que hacer algo más?
Gracias .

Edit
SOLUCIONADO:
Dentro de las acciones para los sprites de cada tecla evento se puede cambiar la velocidad de la animación del sprite/animación, era más sencillo de lo que parecía. Pongo el Edit, por si a alguien más le sirve. Voy a hacer pruebas y luego me paso a por el resto de dudas.
Título: Re:Dudas varias de novato (Velocidad de objetos y asignación de sprites)
Publicado por: Saga en Octubre 09, 2013, 01:47:38 PM
Vale, primera prueba superada, me falta asignar sprites en diagonales izquierda y ya estará listo, ahora tengo otras dudas:

Doble comando
Por ejemplo pulsando 2 veces seguidas hacia la derecha y que salga una nueva animación, y sería así:

Derecha (pulsar 1 vez) animación caminar.
Derecha (pulsar 2 veces y manteniendo pulsada la segunda) animación de correr.

A ver que me decís sobre esto.
Gracias gente.
Título: Re:Dudas varias de novato (Velocidad de objetos y asignación de sprites)
Publicado por: Johann en Octubre 11, 2013, 04:13:39 AM
Preguntas y respuestas: qué es y cómo funciona - Leer antes de postear (http://www.comunidadgm.org/index.php?topic=18.0)


Por favor no respondan temas que no están de acuerdo a las reglas ;)
Se hace una sola pregunta por publicación, igualmente bien por lo que hayas logrado solucionar.