Buenas tengo una duda, ¿Qué tengo que hacer para que mi personaje se agache? He estado buscando tutoriales en la sección de descarga pero no las entiendo :S

Cita de: malissimofilms en Noviembre 19, 2012, 11:29:59 AM
Buenas tengo una duda, ¿Qué tengo que hacer para que mi personaje se agache? He estado buscando tutoriales en la sección de descarga pero no las entiendo :S
   Saludos makero malissimofilms:

   No te preocupes por eso, no es nada del otro mundo. Si has logrado que al presionar botones el personaje camine en distintas direcciones y cambie el "sprite" de uno u otro lado, agacharse es exactamente lo mismo; al presionara algún botón el personaje cambia su "sprite" a otro en el que aparezca agachado.

  Puedes programar que al presionar el mismo botón otra vez vuelva a estar de pié otra vez.

  Es una forma de hacerlo. Depende siempre de lo que quieras lograr. Si lo quieres que esté agachado al mantener presionado el botón y se ponga de pié al liberarlo. o Prefieras que se ponga de pié al tratar de moverse a los lados. Todo depende de lo que quieras.

  No te preocupes, no es nada del otro mundo. ;D   


#2 Noviembre 19, 2012, 07:24:53 PM Ultima modificación: Noviembre 19, 2012, 07:32:24 PM por penumbra
Esta es la manera en que yo lo hago, obviamente hay más formas de conseguirlo.


//Código para el evento END_STEP:
if keyboard_check(vk_down) and (taire < 1)
{
    activa_sprite(inclina, 0.55)
    if image_index >= 15  image_index = 15
}

//Reproducir la segunda parte de la animación cuando el jugador suelta la tecla flecha hacia abajo
if keyboard_check_released(vk_down) and ttierra > 0
{
    image_index = 16
    activa_sprite(inclina, 0.5)


Explicación: Mi sprite con la animación del personaje agachado tiene alrededor de 30 subimágenes, las primeras 15 son para el movimiento de agacharse. La imagen 14 (el índice comienza en 0) es la imagen del personaje agachado, que es la imagen que se despliega mientras el usuario esté presionando la tecla de agacharse. Al soltar la tecla, se usa el mismo sprite, pero a partir de la imagen 16 >17>18, etc, para mostrar la animación de cómo se pone de pie, después de estar agachado.

taire y ttierra
son variables que indican el número de pasos (tiempo)que el jugador está en el aire o en tierra. CUando una de las variables es mayor o igual la uno, la otra obviamente es cero. Las uso para muchas cosas, en este caso  para evitar que la animación de agacharse se active si se presiona la tecla de flecha hacia abajo mientras el personaje está en el aire

activa sprite (nombre del sprite, velocidad de animación)
es un sencillo script para llamar al sprite que quieres desplegar, lo hice para no tener que estar escribiendo "sprite_index" e "image_speed" tan seguido. El script se ve así:

image_speed = argument1
sprite_index = argument0


Seguramente vas a tener que usar una velocidad de animación distinta a la que uso, para tus sprites; es cosa de que juegues con los valores. A ver si de algo te sirve el ejemplo.

#3 Diciembre 07, 2012, 07:04:28 PM Ultima modificación: Diciembre 07, 2012, 07:06:11 PM por Creador de juegos GM
Yo creo que es mas facil así: (si solo querés que cambie el sprite)
en el jugador:
colisión con el suelo:(para que solo pueda agacharse cuando toque el suelo) (sinó va en step):
if keyboard_chek booton(abajooqueseyo)
sprite_index(spriteagacharse)

listo.
y para que vuelva a estar de pie lo mismo pero con el botón de levantarse (o ir a una dirección)
y con el sprite de dirección o levantarse.
CREADOR DE JUEGOS GM.


- Como hacer preguntas inteligentes
- Reglamento General

HOLA COMUNIDAD,HOLA A TODOS




uso game maker 8 pro 8) y game maker studio Master Collection