Autor Tema: No consigo poner la animacion de salto  (Leído 106 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hueggvofrito

No consigo poner la animacion de salto
« en: Noviembre 03, 2018, 02:48:34 pm »
Estoy aprendiendo a programar y estoy haciendo un pequeño juego de plataformas para practicar y tal, pero tengo un problema y es que, no consigo hacer que el personaje salte con la animación de salto. Tengo 3 bloques en step que son los y uno en create con lo sig comandos siguientes:


CREATE

mov = 0
v = 4;
vv = 0;
vh = 0;
vsalto = -10




STEP

Declarar Movimiento

der = keyboard_check(ord ("D"))
izq = -keyboard_check(ord ("A"))
salto = keyboard_check_pressed(ord("W"))

mov = der + izq
vh = v * mov

Velocidad Vertical

///Gravedad

if (vv < 30) && !place_meeting(x,y+1,object1){

vv=vv+1

}

//Detecta la colisión con el suelo

if (place_meeting(x,y+vv,object1)){

while(!place_meeting(x,y+sign(vv),object1 )){

y = y + sign(vv)}


vv = 0
}

//salto

if (place_meeting(x,y+1,object1)&& salto){

vv = vsalto

}


//Declara el movimiento vertical a la y
y = y + vv


Velocidad horizontal

///Colisión horizontal


if place_meeting(x + vh,y,object1){

while(!place_meeting(x+sign(vh),y,object1 )){

x = x + sign(vh)
}

vh = 0

}

//Animación horizontal
if vh == +4{
image_xscale = 1
sprite_index = spr_andando
image_speed = 0.3}
if vh == 0{
sprite_index = sprite0
image_speed = 0.5
}
if vh == -4{
image_xscale = -1
sprite_index = spr_andando
image_speed = 0.3
}


///Estableciendo variables

x = x + vh; ///x tendra el valor de vh







Aclarar que sprite0 es el spite en el que esta el personaje parado y el sprite1 es el bloque.


 
Los siguientes usuarios dieron las gracias a este tema: dixon2010
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Re:No consigo poner la animacion de salto
« Respuesta #1 en: Noviembre 03, 2018, 06:43:49 pm »
Podrias crear una nueva variable que controle cuando se esta colisionando o no con el suelo, y usarla en conjunto con otras variables para cambiar de sprites.
Si es falsa esta en el aire y cambias al sprite correspondiente, y si es verdadera usas los sprites para cuando esta quieto y caminando (dependiendo del valor de mov)
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Hueggvofrito

Re:No consigo poner la animacion de salto
« Respuesta #2 en: Noviembre 04, 2018, 01:31:06 am »
Podrias crear una nueva variable que controle cuando se esta colisionando o no con el suelo, y usarla en conjunto con otras variables para cambiar de sprites.
Si es falsa esta en el aire y cambias al sprite correspondiente, y si es verdadera usas los sprites para cuando esta quieto y caminando (dependiendo del valor de mov)

He intentado como buenamente he podido lo de la variable, pero que va, no soy capaz de sacarlo (ya te digo estoy aprendiendo y se me escapan muchas cosas)
 

Conectado Goganpis

Re:No consigo poner la animacion de salto
« Respuesta #3 en: Noviembre 04, 2018, 03:44:25 pm »
al cambiar el sprite_index cambias su raiz, al cambiar la subimagen haces una animacion, la variable image_index que por hecho es la que por predeterminado tiene el draw_self() es sumada por cada paso con image_speed la cual varia segun vos, ejemplo en 30 pasos hay un sprite del personaje moviendose con 5 imagenes en la animacion, el puesto que es que comienza en 1, la velocidad normal es 1, las imagenes que aumenta (image_index += image_speed pero no se muestra) si esta en 2 se salta una imagen y no te das cuenta a veces, como para detenerla la colocas en 0 ya que 1+0 = 1 (image_index += image_speed)... No se a que te referis con el control de animaciones primero controla todo tu codigo en mecanica del juego luego ajusta la animacion no querras darle un nuevo toque y tendras que empezar de nuevo  ;D
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo

Desconectado somnus

Re:No consigo poner la animacion de salto
« Respuesta #4 en: Noviembre 08, 2018, 07:57:51 pm »
el problema es copier el codigo de algun lado sin entenderlo primero, he visto ese formato de codigo para plataformas en muchos lados, si lo copiaste de la seccion de scripts tiene muchos bugs, yo lo implemente y me funciono, luego que regrese del trabajo posteo como lo deje para que veas donde va la animacion de salto, recuerdo que cuando se esta en el aire o no se esta tocando el bloque o la pared cada step se debe de poner la animacion de salto, en mi caso yo solo checo eso 1 sola vez, ya que si esta en el aire y lo cambio no tiene caso Volver a cambiarlo o setearlo de nuevo mientras sigo en el aire.
Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona…<b />
avances de Xpace en @pavulzavala
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo

Desconectado dixon2010

Re:No consigo poner la animacion de salto
« Respuesta #5 en: Noviembre 08, 2018, 10:30:14 pm »
Intenta con este y avísame su funcionamiento.
donde object1 es el suelo y/o la pared

[EVENT CREATE]
Código: [Seleccionar]
s=0;

[EVENT STEP]
Código: [Seleccionar]
b2=keyboard_check(38)
if(b2*(s=0)*place_meeting(x,y+10,object1))s=20
if(s)s-=1
vs=10-s
while(place_meeting(x,y+vs,object1))vs-=1*sign(vs)
y+=vs

« última modificación: Noviembre 08, 2018, 10:40:21 pm por dixon2010 »
Dios nos ayuda y nos da sabiduría para vivir. Cáda código es una obra maestra que hay que respetar aunque exista un código mas eficiente y sencillo.
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo