Ajuda para se Manter agachado ^^

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Ajuda para se Manter agachado ^^

Mensagem por Pegore em Qui 14 Ago 2014, 14:07

Oi, sou novo no forum e novo com o GMS, gostaria de pedir uma ajuda, estou desenvolvendo um game, mas estou tendo dificuldades com a movimentaçao...

gostaria que meu personagem agachase com um botao, e com o mesmo botao ele levantase, igual no jogo metal gear solid, mas nao sei o codigo pra que isso funcione

Como faço para que 1 botao só seja 2 comandos ?

alguem pode mi ajudar ?


desde já grato pela ajuda!

Pegore

Número de Mensagens : 9
Data de inscrição : 14/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Isaque Onix em Qui 14 Ago 2014, 14:26

crie uma variavel, e, quando voce apertar o botao de abaixar coloque variavel=!variavel

assim, se variavel = true, ele esta abaixado.
se variavel = false, ele esta em pe.

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por matheusco em Qui 14 Ago 2014, 14:34

De uma maneira simples você pode fazer assim:

if keyboard_check_pressed(vk_space)
{
if agachado = 0
{
agachado = 1
exit
}
if agachado = 1
{
agachado = 0
exit
}
}

Basicamente, quando você clicar na barra de espaço ele vai conferir se o personagem já ta agachado ou não. Essa é a maneira que conheço, talvez exista alguma mais simples.

Convido a dar uma olhada no meu site, talvez tenha algo útil ;)

matheusco

Número de Mensagens : 395
Idade : 24
Data de inscrição : 10/08/2014
Reputação : 51
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por matheusco em Qui 14 Ago 2014, 14:35

Isaque Onix escreveu:crie uma variavel, e, quando voce apertar o botao de abaixar coloque variavel=!variavel

assim, se variavel = true, ele esta abaixado.
se variavel = false, ele esta em pe.

Pois é, existe um jeito bem mais simples então Very Happy Acabei aprendendo também, obrigado.

matheusco

Número de Mensagens : 395
Idade : 24
Data de inscrição : 10/08/2014
Reputação : 51
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Isaque Onix em Qui 14 Ago 2014, 14:52

hehe faz parte, vivendo e aprendendo ;)

[edit]
bom, só pra lembrar, tem que ser o keyboard_check_pressed, se não, ele vai ficar levantando e abaixando varias vezes seguidas

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Pegore em Qui 14 Ago 2014, 15:14

Obrigado pelas respostas, ainda estou tentando... uma hora sai Happy

Pegore

Número de Mensagens : 9
Data de inscrição : 14/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Isaque Onix em Qui 14 Ago 2014, 15:31

no evento create:
Código:
baixo=false
_sprite=-1
no evento step:
Código:
if(keyboard_check_pressed(vk_space)){baixo=!baixo}
no evento draw (e um exemplo pra esse caso!):
Código:
if(baixo=true){_sprite=SPRITE_ABAIXADO}else{_sprite=SPRITE_EM_PE}
draw_sprite(_sprite,0,x,y)

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Pegore em Qui 14 Ago 2014, 15:51

//Agachado

//Crouch Positions

if sprite_index = HeroStandRight and keyboard_check_pressed(vk_control){
    sprite_index = RightCrouch;
    Crouch = 1;
    
}

if sprite_index = HeroStandLeft and keyboard_check_pressed(vk_control){
    sprite_index = LeftCrouch;
    Crouch = 1;
    
}

if sprite_index = HeroStandUp and keyboard_check_pressed(vk_control){
    sprite_index = UpCrouch;
    Crouch = 1;
    
}

if sprite_index = HeroStand and keyboard_check_pressed(vk_control){
    sprite_index = DownCrouch;
    Crouch = 1;
    
}



eu so consigo fazer ele agachar se for um outro botao como no exemplo abaixo caso seja o mesmo, ele meio que da conflito



if Crouch=1 and keyboard_check_pressed(vk_space){
    sprite_index = HeroStand;
    Crouch = 0;
}


como que posso colocar no mesmo botao ? desculpa pela ignorancia , e que sou noob mesmo Happy

Pegore

Número de Mensagens : 9
Data de inscrição : 14/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Lighter em Qui 14 Ago 2014, 16:07

Acho que acontece esse erre pois os teclados geralmente possuem 2 botões CTRL, verifique o outro e vê se ele funciona.. Aconteceu um erro semelhante comigo quando eu queria usar os numerais, pois os teclados geralmente possuem 2 locais para alojar os num pad.. Mas acho que é esse o seu erro flw.

Lighter

Ranking : Sem avaliações
Número de Mensagens : 307
Idade : 18
Data de inscrição : 16/01/2014
Reputação : 29
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://google.com

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por matheusco em Qui 14 Ago 2014, 16:11

Tem algum código depois disso?

if Crouch=1 and keyboard_check_pressed(vk_space){
sprite_index = HeroStand;
Crouch = 0;
}

Se tiver, você tem que colocar "exit" depois de "crouch = 0", se não dá conflito.

matheusco

Número de Mensagens : 395
Idade : 24
Data de inscrição : 10/08/2014
Reputação : 51
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Pegore em Qui 14 Ago 2014, 16:19

Não, so tem o resto das animaçoes

//Var

Right = 0;
Up = 0;
Left = 0;
Down =0

Crouch = 0;




//animation

//Direita
if keyboard_check(ord("D")) 
{
    sprite_index = RunRight;
    image_speed = 0.2;
    Right = 1;
}

if keyboard_check_released(ord("D"))
{
    sprite_index = HeroStandRight;

//Esquerda

if keyboard_check(ord("A")) 
{
    sprite_index = RunLeft;
    image_speed = 0.2;
    Left = 1;
}

if keyboard_check_released(ord("A"))
{
    sprite_index = HeroStandLeft;

//Acima

if keyboard_check(ord("W")) 
{
    sprite_index = RunUp;
    image_speed = 0.2;
    Up = 1;
}

if keyboard_check_released(ord("W"))
{
    sprite_index = HeroStandUp;
}

//Abaixo
if keyboard_check(ord("S")) 
{
    sprite_index = RunDown;
    image_speed = 0.2;
    Down = 1;
}

if keyboard_check_released(ord("S"))
{
    sprite_index = HeroStand;
}  

//Agachado

//Crouch Positions

if sprite_index = HeroStandRight and keyboard_check_pressed(vk_control){
    sprite_index = RightCrouch;
    Crouch = 1;
    
}

if sprite_index = HeroStandLeft and keyboard_check_pressed(vk_control){
    sprite_index = LeftCrouch;
    Crouch = 1;
    
}

if sprite_index = HeroStandUp and keyboard_check_pressed(vk_control){
    sprite_index = UpCrouch;
    Crouch = 1;
    
}

if sprite_index = HeroStand and keyboard_check_pressed(vk_control){
    sprite_index = DownCrouch;
    Crouch = 1;
    
}

Pegore

Número de Mensagens : 9
Data de inscrição : 14/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Pegore em Qui 14 Ago 2014, 16:22

caralho veioo era isso mesmo, faltou colocar o Exit ! , agora esta respondendo como eu queria !!

if sprite_index = HeroStand and keyboard_check_pressed(vk_control){
    sprite_index = DownCrouch;
    Crouch = 1;
    exit
    
}

if Crouch = 1 and sprite_index = DownCrouch and keyboard_check_pressed(vk_control){
    sprite_index = HeroStand;
    Crouch = 0;
    exit
    
}

Funciono!!! Obrigadao!!

Pegore

Número de Mensagens : 9
Data de inscrição : 14/08/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Lighter em Qui 14 Ago 2014, 16:29

Você também poderia usar o Else ao inves de exit? Desconheço essa função no gamemaker.

Lighter

Ranking : Sem avaliações
Número de Mensagens : 307
Idade : 18
Data de inscrição : 16/01/2014
Reputação : 29
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://google.com

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por matheusco em Qui 14 Ago 2014, 16:52

Lighter escreveu:Você também poderia usar o Else ao inves de exit? Desconheço essa função no gamemaker.

Isso eu descobri na tentativa e erro. Por exemplo:

if keyboard_check_pressed(vk_space) && crouch = 0
{
crouch = 1
}

if if keyboard_check_pressed(vk_space) && crouch = 1
{
crouch = 0
}

Quando eu tentava fazer isso, aparentemente um clique no space ativava os dois comandos, isso porque o segundo if vira verdadeiro quando o primeiro é ativado. Colocando "exit" no primeiro e no segundo ele para de rodar o programa e não ativa os dois comandos.

matheusco

Número de Mensagens : 395
Idade : 24
Data de inscrição : 10/08/2014
Reputação : 51
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por matheusco em Qui 14 Ago 2014, 16:53

Pegore escreveu:caralho veioo era isso mesmo, faltou colocar o Exit ! , agora esta respondendo como eu queria !!

if sprite_index = HeroStand and keyboard_check_pressed(vk_control){
    sprite_index = DownCrouch;
    Crouch = 1;
    exit
    
}

if Crouch = 1 and sprite_index = DownCrouch and keyboard_check_pressed(vk_control){
    sprite_index = HeroStand;
    Crouch = 0;
    exit
    
}

Funciono!!! Obrigadao!!

De nada Smile

matheusco

Número de Mensagens : 395
Idade : 24
Data de inscrição : 10/08/2014
Reputação : 51
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Lighter em Qui 14 Ago 2014, 17:14

matheusco escreveu:
Lighter escreveu:Você também poderia usar o Else ao inves de exit? Desconheço essa função no gamemaker.

Isso eu descobri na tentativa e erro. Por exemplo:

if keyboard_check_pressed(vk_space) && crouch = 0
{
crouch = 1
}

if if keyboard_check_pressed(vk_space) && crouch = 1
{
crouch = 0
}

Quando eu tentava fazer isso, aparentemente um clique no space ativava os dois comandos, isso porque o segundo if vira verdadeiro quando o primeiro é ativado. Colocando "exit" no primeiro e no segundo ele para de rodar o programa e não ativa os dois comandos.

Pois é, testei os códigos com else e depois com exit, funcionaram normal, só quando eu não uso o exit nem else buga como relato o autor do tópico flw!

Lighter

Ranking : Sem avaliações
Número de Mensagens : 307
Idade : 18
Data de inscrição : 16/01/2014
Reputação : 29
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://google.com

Voltar ao Topo Ir em baixo

Re: Ajuda para se Manter agachado ^^

Mensagem por Conteúdo patrocinado Hoje à(s) 05:48


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum