O código
Código: Selecionar todos
var (atacar) =keyboard_check_pressed(ord("P"))
if (atacar)
{
sprite_index= Soco1;
image_index = 0;
image_speed = 5;
Speed = 0;
}
Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Código: Selecionar todos
var (atacar) =keyboard_check_pressed(ord("P"))
if (atacar)
{
sprite_index= Soco1;
image_index = 0;
image_speed = 5;
Speed = 0;
}
Código: Selecionar todos
NO CREATE
v_sprite = [ qualquer sprite ]; // variável para controlar qual sprite usar
v_img = 0; // controle de velocidade da sprite
status = "parado"; // status de ação do seu personagem
NO STEP
...
v_img += 0.2; // escolha uma velocidade para os frames da sprite
if( atacar ) { status = "socando"; } // mudar status para socando
switch( status ){
...
case "socando":
v_sprite = spr_socando;
if( v_img > [quantidade máxima de frames do sprite] ){
status = "parado";
v_img = 0;
}
break;
}
NO DRAW
draw_sprite_ext( sprite, img, x, y, 1, 1, 0, c_white, 1 );
Hum.
Código: Selecionar todos
NO STEP
...
switch( status ){
case "socando":
v_sprite = spr_socando;
if( v_img > [quantidade máxima frames] ){ status= "parado"; v_img = 0; }
break;
case "parado":
v_sprite = spr_parado;
[aqui vc pode fazer o controle de ciclo dele parado]
[aqui vc pode colocar alguma lógica de piscada ou outra ação dele parado]
break;
case "andando":
v_sprite = spr_andando;
[aqui vc pode fazer o controle de ciclo da marcha]
break;
etc...
}
// e corrigindo meu erro lá no DRAW:
draw_sprite_ext( v_sprite, v_img, x, y, 1, 1, 0, c_white, 1 )
Código: Selecionar todos
NO CREATE
soco_timing = 1; // nesse valor, o soco vai durar 5 steps se a velocidade de v_img for 0.2 (1 divido por 0.2)
NO STEP
...
switch( status ){
case "socando":
v_sprite = spr_socando;
if( v_img >= soco_timing ){ [igual código acima] }
break;
etc, etc...
}
Código: Selecionar todos
NO CREATE
break = false; // essa variável vai ser a trava
NO STEP
break = false; // eu estou repetindo isso aqui para não precisar destravar as ações
// em cada CASE abaixo. Colocando aqui eu uso uma linha só.
switch( status ){
case "socando":
break = true;
...
break;
}
if( !break ){
[aqui vc coloca as IFs de ação ou qualquer coisa q não quer q aconteça durante o soco]
}
Código: Selecionar todos
NO STEP
v_sprite = asset_get_index( "spr_personagem_" + status );
Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes