GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Servidor de Discord do fórum?
por Super Games Sáb 18 maio 2024, 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42


Código de movimento personagem

+3
Kevin
Eudes - Hyo
GAMEREVIL
7 participantes

Ir para baixo

Código de movimento personagem Empty Código de movimento personagem

Mensagem por GAMEREVIL Sáb 23 maio 2009, 06:02

Olá.
Estou pedindo ajuda para concluir uma movimentação.
Pelo tutorial do forum, consegui realizar varios movimentos.
Faltando abaixar e olhar para cima.

parado DR, ES/ OK
andando DR,ES/OK
pulando DR,ES/OK
..................................falta
abaixado DR,ES (se soltar (vk_down) volta parado.
cima (se soltar (vk_up) volta parado

Quando tentei fazer com teclado, não consegui pular, agora com código, não consigo
fazer personagem abaixar e olhar cima.

codigo que estou estudando é esse:

Código:
if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou seja, não tem chão.
{gravity=0.45; noar=true;
//Coloca valor na gravidade e define a variável noar para true, ou seja, o personagem não está no chão.
} else
 //Se a expressão place_free for falsa, ou seja, tenha chão embaixo:
 {gravity=0; noar=false; //Gravidade se torna zero e a variável noar se torna false, ou seja, o personagem está no chão.
 }

//Definiões de pulo
if (keyboard_check_pressed(ord("X"))) && ! (place_free(x,y+1)) //Checa se a tecla de direção cima foi pressionada e se NÃO tem um pixel livre abaixo.
{
vspeed=-5; noar=true; //Se for verdade, velocidade vertical se torna 5 negativo e a variávell noar se torna true, ou seja, o personagem NÃO está no chão.
}

if (vspeed>12) //Checa se a velocidadevertical do personagem possui um valor maior que 12.
vspeed=12; //Se tiver, o valor se torna 12. Isso serve para que o personagem não ultrapasse grandes velocidades verticais, podendo causar bugs no jogo.

if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-3,y)) //Checa se a tecla de direção esquerda está sendo pressionada, se a tecla direita NÃO está sendo pressionada e se tem 3 pixels de espaço à esquerda.
{x-=3; lado=0; andando=true; parado=false; //Caso a expressão acima seja verdadeira, o personagem se move 3 pixels a esquerda, virá para a esquerda de acordo com a variável lado, a variável andando se torna true para indicar que o personagem está andando e a variável parado se torna false, ou seja, o personagem NÃO está parado.
}

if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+3,y)) //Mesmo de cima, só que dessa vez, checamos se a tecla de direção direita está sendo pressionada, se a tecla de direção esquerda NÃO está sendo pressionada e se tem 3 pixels à direita livre.
{x+=3; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A única coisa que muda é que aqui o personagem se move 3 pixels a direita e a variável lado se torna 1, ou seja, ele vira pra direita.
}

if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) //Checa se a tecla direita e a tecla esquerda não estão sendo precionadas.
{andando=false; parado=true; //Caso seja verdade, a variável andando se torna false, ou seja, o personagem NÃO está andando. E a variável parado se torna true, ou seja, o personagem está parado.
}

if keyboard_check(vk_down)
{x-=3; lado=0; abaixando=true; parado=false;
}

if keyboard_check(vk_down)
{x+=3; lado=1; abaixado=true; parado=false;
}

if ! (keyboard_check(vk_down)) && !
{abaixado=false; parado=true;
}

if keyboard_check(vk_up)
{x+=0; lado=1 cima=true; parado=false;
}

if ! (keyboard_check(vk_up));
{cima=false; parado=true;
}

//Sprites
if (noar==false) //Checa se o personagem está no ar.

{
if (cima=true) && (lado==1)
sprite_index=robo_cima;
}
if (andando=true) && (lado==1) //Checa se o personagem está andando e se ele está virado para a direita.
{
sprite_index=robo_andandoDR; //Se sim, a sprite dele se torna a sprite do personagem andando para a direita.
}
if (andando=true) && (lado==0) //Checa se o personagem está andando e se ele está virado para a esquerda.
{
sprite_index=robo_andandoES; //Se sim, o sprite dele se torna a sprite do personagem andando para a esquerda.
}
if (abaixado=true) && (lado==1) //**Checa se o personagem esta abaixado e se ele esta virado para direita.
{
sprite_index=robo_abaixadoDR; //se sim, a sprite dele se torna abaixado direito.
}
if (abaixado=true) && (lado==0) //checa se a sprite dele esta abaixado esquerda.
{
sprite_index=robo_abaixadoES; // se sim a sprite se torna abaixado esquerda.
}
if (andando==false) && (parado==true) && (lado==1) //Se o personagem não está andando, se o personagem está parado e está virado para a direita:
{
sprite_index=robo_paradoDR; //Se sim, a sprite dele se torna a sprite do personagem parado para a direita.
}
if (andando==false) && (parado==true) && (lado==0) //Se o personagem não está andando, está parado e está virado para a esquerda:
{
sprite_index=robo_paradoES; //Se sim, a sprite dele se torna o sprite do personagem parado para a esquerda.
}
if (andando==false) && (abaixado==true) && (lado==1) //**Se o personagem não está andando, se o personagem está abaixado e está virado para a direita:
{
sprite_index=robo_abaixadoDR; //**Se sim, a sprite dele se torna a sprite do personagem abaixado para a direita.
}
if (andando==false) && (abaixado==true) && (lado==0) //**Se o personagem não está andando, está abaixado e está virado para a esquerda:
{
sprite_index=robo_abaixadoES; //**Se sim, a sprite dele se torna o sprite do personagem abaixado para a esquerda.

}

else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1) //Se ele está pulando ou caindo e está virado para a direita:
{
sprite_index=robo_pulandoDR; //O sprite do personagem se torna o sprite dele pulando para a direita.
}
if (vspeed>0) || (vspeed<0) && (lado==0) //Se o personagem está pulando ou caindo e está virado para a esquerda:
{
sprite_index=robo_pulandoES; //O sprite do personagem se torna o sprute dele pulando para a esquerda.
}
}


Obrigado
GAMEREVIL
GAMEREVIL

Data de inscrição : 14/05/2009
Reputação : 0
Número de Mensagens : 11
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://gamerevil.blogspot.com/

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por GAMEREVIL Sáb 23 maio 2009, 15:36

Bom para resumir, queria explicação de como inseri os códigos:
spr_baixo esquedo e direito. (fixo sem se mover quando abaixado e quando soltar tecla spr_parado)
spr_cima (fixo)

.
GAMEREVIL
GAMEREVIL

Data de inscrição : 14/05/2009
Reputação : 0
Número de Mensagens : 11
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://gamerevil.blogspot.com/

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Eudes - Hyo Ter 02 Jun 2009, 10:58

Vc quer segurar a Tecla DOWN e o char ficar agachado ?

if (keyboard_check(vk_down)) && ! (keyboard_check(vk_up))
{agachado=true; parado=true}

if (agachado=true) && (lado==1)
{
sprite_index=spr_Char_agachado_dir ; //Agachado e Direita.
}

if (agachado=true) && (lado==0)
{
sprite_index=spr_Char_agachado_esq; //Agachado e Esquerda.
}


É isso ?
Eudes - Hyo
Eudes - Hyo

Games Ranking : Nota B

Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Reputação : 27
Número de Mensagens : 513
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Kevin Ter 02 Jun 2009, 19:12

acho que tem uma forma mais simples!!!


assim

tenta esse

if (keyboard_check(vk_down))
{agachado=true; parado=true}

if (agachado=true) && (lado==1)
{
sprite_index=spr_Char_agachado_dir ; //Agachado e Direita.
}

if (agachado=true) && (lado==0)
{
sprite_index=spr_Char_agachado_esq; //Agachado e Esquerda.
}



if (keyboard_check_released(vk_down))
{agachado=false; parado=true}

if (agachado=false) && (lado==1)
{
sprite_index=spr_Char_parado_dir ; //Parado e Direita.
}

if (agachado=false) && (lado==0)
{
sprite_index=spr_Char_parado_esq; //Parado e Esquerda.
}


* código que você mostrou!!! - editado algumas coisas apenas..
* código que reefiz!!! - editado algumas coisas para voltar ao normal!!!
* suposições de: trocas de sprite que usei... troque estes amarelos pelo sprite dele parado!!!




Bem acho que é isso... se deu ou não deu certo nos fale aqui Happy

Keké Games©️ Agradece Happy
Kevin
Kevin

Games Ranking : Nota C

Notas recebidas : C - C
Data de inscrição : 14/11/2008
Reputação : 9
Número de Mensagens : 1166
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.programaCODM.webs.com/

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por GAMEREVIL Qua 03 Jun 2009, 01:16

Valeu a ajuda!
.
Vou tentar aqui...
.

Ficou assim !!!
Funcionou.

Código:
//muda as sprites de acordo com a ação
if penochao = true {
//código anterior
if abaixado = false {
//código anterior
if parado = false
{
if direita = true {sprite_index = robo_andandoDR;} else {sprite_index = robo_andandoES;}
}
else
{
if direita = true {sprite_index = robo_paradoDR;} else {sprite_index = robo_paradoES;}
}
//código anterior
}
else
{
if direita = true {sprite_index = robo_abaixadoDR;} else {sprite_index = robo_abaixadoES;}
}
//código anterior
}else
{
if direita = true {sprite_index = robo_pulandoDR;} else {sprite_index = robo_pulandoES;}
}


Falta agora, olhar para cima!!! E se apertar cima (UP),o esqueda e direita tem que travar
.
GAMEREVIL
GAMEREVIL

Data de inscrição : 14/05/2009
Reputação : 0
Número de Mensagens : 11
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://gamerevil.blogspot.com/

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Convickto Qui 22 Abr 2010, 18:30

os codigos se escrevem assim mesmo? agachado=true ou false? é agachado mesmo?
tipo para eu fazer ele andar num objeto sólido, como faz? pq meu personagem tá travando no chão, ele só se movimenta no ar, mas quando encosta no chão ele fica parado, não vai pra lado nenhum!
Resumindo :
Como colocar o personagem no chão e faze-lo andar e pular? por favor me diga o que cada código faz pra eu ir aprendendo aos poucos. valeu!
Sou noob hoje, mas eu vou aprender(*eu acho...*)
Convickto
Convickto

Data de inscrição : 21/04/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://convickto.blogspot.com

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Cainã Qui 22 Abr 2010, 19:00

As variáveis podem ser escritas do jeito que a pessoa quiser. Quanto a sua duvida, este tópico pode esclarecer e existem tutoriais e engines no forum.
Cainã
Cainã

Data de inscrição : 07/03/2010
Reputação : 1
Número de Mensagens : 1335
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://cai.na.tl/

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Denis Lemos Qui 22 Abr 2010, 19:27

Convickto escreveu:os codigos se escrevem assim mesmo? agachado=true ou false? é agachado mesmo?
tipo para eu fazer ele andar num objeto sólido, como faz? pq meu personagem tá travando no chão, ele só se movimenta no ar, mas quando encosta no chão ele fica parado, não vai pra lado nenhum!
Resumindo :
Como colocar o personagem no chão e faze-lo andar e pular? por favor me diga o que cada código faz pra eu ir aprendendo aos poucos. valeu!
Sou noob hoje, mas eu vou aprender(*eu acho...*)
Com o tempo você vai aprender o que cada código faz, mas se você quer aprender mais ligeiro, tem que dar uma olhada nessas aulas, foi por elas que eu aprendi !

http://www.gamemakerbrasil.com/game-maker-f36/aulas-de-game-maker-para-iniciantes-por-reddragon-t3425.htm

E aqui tem mais um monte de coisa, agora é só você ler bastante que não tem como não aprender, se eu consegui você também consegue, quando eu comecei era que nem você, não sabia nem oque era uma variável, mas se esforçando se consegue aprender !
Leia principalmente as aulas que estão fixadas no topo da página !
http://www.gamemakerbrasil.com/game-maker-f36/
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Adriel Qui 22 Abr 2010, 20:00

Pessoal, tem um jeito muito mais simples. Veja bem, escreva no Event de olhar para cima :
Código:
if sprite_index=bonecoparadodireita //substitua pelo nome de sua sprite
{
sprite_index=bonecoolhandocimadireita //substitua pelo nome de sua sprite
hspeed=0
vspeed=0
}
if sprite_index=bonecoparadoesquerda //substitua pelo nome de sua sprite
{
sprite_index=bonecoolhandocimaesquerda //substitua pelo nome de sua sprite
hspeed=0
vspeed=0
}

E aí, funfou????
Se quiser saber mais coisas, basta me dizer king
Adriel
Adriel

Data de inscrição : 18/07/2009
Reputação : 2
Número de Mensagens : 924
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Código de movimento personagem Empty È, esse reddragon é bom pra explicar!

Mensagem por Convickto Dom 25 Abr 2010, 16:20

Cainã escreveu:As variáveis podem ser escritas do jeito que a pessoa quiser. Quanto a sua duvida, este tópico pode esclarecer e existem tutoriais e engines no forum.


Valeu pela dica, realmente me esforçando bastante(e descansando pra não ficar louco) eu to entendendo como isso funciona, mas não gosto de ficar copiando e colando os códigos, eu prefiro(apesar de ser mais demorado) olhar o código e depois escrever ele, assim ele fica impregnado no meu celebro...o problema é que toda vez que começo a entender como uma coisa funciona, eu me deparo com outra mais interessante, e outra, e outra...vou tentar me focar em um unico jogo até deixa-lo o melhor possivel, mas acho que to pegando o jeito!
agradeço pela ajuda!
Convickto
Convickto

Data de inscrição : 21/04/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : Código de movimento personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://convickto.blogspot.com

Ir para o topo Ir para baixo

Código de movimento personagem Empty Re: Código de movimento personagem

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos