Página 1 de 1

sprite e velocidade das sub-imagens

Enviado: Sex Dez 02, 2016 8:38 am
por adiplomatique
prezados,

primeiramente, para fins de esclarecimento, tenho usado uma adaptação do código mais simples do shaul spalding para o player.

no entanto, mesmo com outros códigos, sempre tive uma dificuldade, principalmente, com as sub-imagens dos sprites de ataque quando estes estão no evento step. não importa o quanto mexa na image_speed, as sub-imagens correm rápido demais, como se pulasse da primeira pra última, e olhe lá, não importa o número de sub-imagens do sprite. o mesmo não ocorre quando, por exemplo, coloco o sprite de ataque no evento de apertar a letra "z" ou afins.

queria saber se com alguém acontece o mesmo, ou já aconteceu, ou tem alguma orientação a respeito do tema. 

a princípio, faço questão de colocar os sprites no evento step por causa do gamepad, já que o game maker até hoje não tem eventos próprios para tal finalidade. 

abraços! 

Re: sprite e velocidade das sub-imagens

Enviado: Sex Dez 02, 2016 6:09 pm
por samukamuka12
ja tentou colocar image_speed?

Re: sprite e velocidade das sub-imagens

Enviado: Sex Dez 02, 2016 6:39 pm
por adiplomatique
samukamuka12 escreveu:ja tentou colocar image_speed?
sim. não altera a situação descrita. também não entendo. 

Re: sprite e velocidade das sub-imagens

Enviado: Dom Dez 04, 2016 5:03 pm
por Dust
Talvez possa ser o jeito em que o código ta sendo executado, e por isso a sprite corre talvez em meio segundo.

Re: sprite e velocidade das sub-imagens

Enviado: Seg Dez 05, 2016 12:37 pm
por Lima Loucão
Verifique se o código "image_index" existe dentro do step, se sim, retire-o, provavelmente o "image_index" está atrapalhando.

Re: sprite e velocidade das sub-imagens

Enviado: Ter Dez 06, 2016 8:55 am
por Eddy
o que pode estar acontecendo é que ele não executa todo o sprite, pq quando vc aperta "z" ele mostra só o primeiro frame.
tens que fazer um código para ele mostrar toda a animação, alguma coisa assim. Eu já passei por isso, e imagino que seja isso, mas como falo por aqui, minha "praia" é a parte gráfica, mas me meto na programação

Re: sprite e velocidade das sub-imagens

Enviado: Ter Dez 06, 2016 9:34 am
por thyago
 Você deve estar usando 
keyboard_check()  tente com keboard_check_pressed(), veja se da alguma diferença

Re: sprite e velocidade das sub-imagens

Enviado: Dom Dez 11, 2016 8:10 pm
por adiplomatique

Código: Selecionar todos

//exemplo dos controles
            key_right = (keyboard_check(vk_right)) or (gamepad_axis_value(0,gp_axislh) > 0);
            key_left = keyboard_check(vk_left)  or (gamepad_axis_value(0,gp_axislh) < 0);
            crouch = keyboard_check(vk_down)  or (gamepad_axis_value(0,gp_axislv) < 0);
            key_up = keyboard_check(vk_up) or (gamepad_axis_value(0,gp_axislv) > 0);
            key_jump = keyboard_check_pressed(vk_space)  or (gamepad_button_check_pressed(0,gp_face1));
            key_jdown = (keyboard_check_pressed(vk_space) && keyboard_check(vk_down)) or ((gamepad_button_check_pressed(0,gp_face1)) && (gamepad_axis_value(0,gp_axislv) < 0));
            key_laser = keyboard_check_pressed(ord('Z')) or (gamepad_button_check_pressed(0,gp_face3));

Código: Selecionar todos

//exemplo de código atacando
//parado ou andando
if grounded && !crouch
{
    if hsp ==0
    {
        sprite_index = s_idle    
        
        //ataque
        if key_laser && !crouch
        {
               ataque = true
               sprite_index = s_attack
        }
    }
    else
    {sprite_index=s_walk} 
}
1) dust, mas já testei códigos diferentes.
2) lima, nem tem, como pode ver pelo exemplo.
3) eddy, mas o código pede pra mostrar tudo, até onde entendo.
4) thyago, isso acontece mais no ataque. como pode ver, tá em key_check_pressed(). nos outros, tá normal. 

Re: sprite e velocidade das sub-imagens

Enviado: Dom Dez 11, 2016 9:26 pm
por Lima Loucão
Tente então: if sprite_index!=spr_ataque {sprite_index=spr_ataque; image_speed=0.125} //Isso faz com que ele troque a sprite apenas uma vez.

Re: sprite e velocidade das sub-imagens

Enviado: Dom Dez 11, 2016 9:57 pm
por Dust
Tente assim:

Código: Selecionar todos

//step
key_laser=keyboard_check_pressed(ord("Z"))
if grounded=true && crouch=false
	{
		if hsp=0 && atack=false
			{
				sprite_index=s_idle
			}
		if key_laser=true && crouch=false
			{
				atack=true
				sprite_index=s_atack
				alarm[0]=image_index=ultimo frame
			}
		if hsp>0 && atack=false
			{
				sprite_index=s_walk
			}
	}
//no alarm[0]
atack=false

Re: sprite e velocidade das sub-imagens

Enviado: Ter Dez 13, 2016 7:18 pm
por adiplomatique
Dust escreveu:Tente assim:

Código: Selecionar todos

//step
key_laser=keyboard_check_pressed(ord("Z"))
if grounded=true && crouch=false
	{
		if hsp=0 && atack=false
			{
				sprite_index=s_idle
			}
		if key_laser=true && crouch=false
			{
				atack=true
				sprite_index=s_atack
				alarm[0]=image_index=ultimo frame
			}
		if hsp>0 && atack=false
			{
				sprite_index=s_walk
			}
	}
//no alarm[0]
atack=false
dust,
funcionou! obrigado!