Conectar-se
Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 14/08/2014
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Ajuda para se Manter agachado ^^

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!
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1598
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Ajuda para se Manter agachado ^^

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.
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: Ajuda para se Manter agachado ^^

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 ;)
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: Ajuda para se Manter agachado ^^

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.
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1598
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Ajuda para se Manter agachado ^^

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
avatar
Data de inscrição : 14/08/2014
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Ajuda para se Manter agachado ^^

em Qui 14 Ago 2014, 15:14
Obrigado pelas respostas, ainda estou tentando... uma hora sai Happy
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1598
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Ajuda para se Manter agachado ^^

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)
avatar
Data de inscrição : 14/08/2014
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Ajuda para se Manter agachado ^^

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
avatar
Ranking : Sem avaliações
Data de inscrição : 16/01/2014
Número de Mensagens : 314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 31

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://google.com

Re: Ajuda para se Manter agachado ^^

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.
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: Ajuda para se Manter agachado ^^

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.
avatar
Data de inscrição : 14/08/2014
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Ajuda para se Manter agachado ^^

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;
    
}
avatar
Data de inscrição : 14/08/2014
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Ajuda para se Manter agachado ^^

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!!
avatar
Ranking : Sem avaliações
Data de inscrição : 16/01/2014
Número de Mensagens : 314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 31

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://google.com

Re: Ajuda para se Manter agachado ^^

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.
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: Ajuda para se Manter agachado ^^

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.
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: Ajuda para se Manter agachado ^^

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
avatar
Ranking : Sem avaliações
Data de inscrição : 16/01/2014
Número de Mensagens : 314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 31

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://google.com

Re: Ajuda para se Manter agachado ^^

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!
Conteúdo patrocinado

Re: Ajuda para se Manter agachado ^^

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum