Atendendo a todos os pedidos da galera vou escrever algumas mini explicações de todos os códigos usados nos tutorias de game maker.
Pra começar vou explicar como funciona o código de movimento com aceleração usado no tutorial de game de plataforma.
1. Definindo a variável de aceleração e desaceleração
No evento create adicionaremos as duas
velocidade=0 // Se estiver em zero o objeto não fará o movimento. (Meio que isso tá bem óbvio)
Freio=0.2 // A força da frenagem a ser aplicada na velocidade
2. Programando o movimento
No evento step, vamos programar as duas variáveis do create para funcionar com a ação de movimento X do objeto.
// Esse código é a aplicação da variável freio na variável de velocidade.
// Se o movimento for acima de zero a aplicação do freio será reduzida para sua numeração neutra.
if velocidade<0{
velocidade+=freio
if velocidade>=0{
velocidade=0;{sprite_index= ???? ;image_speed=0.3}}}// Caso seu objeto tenha animação de movimento, adicione o nome do sprite de pose para que o objeto fique parado. (Basta trocar ???? pelo nome do sprite)
// Se o movimento for abaixo de zero a aplicação do freio será aumentada para sua numeração neutra.
if velocidade>0{
velocidade-=freio
if velocidade<=0{
velocidade=0;{sprite_index= ???? ;image_speed=0.3}}} // Caso seu objeto tenha animação de movimento, adicione o nome do sprite de pose para que o objeto fique parado. (Basta trocar ???? pelo nome do sprite)
//Esse código vai aplicar o movimento velocidade a ação X do objeto, fazendo com que vá para direita ou esquerda com sua aplicação na velocidade limitada.
x+=velocidade //Vai aplicar o movimento para esquerda.
if velocidade<-6{velocidade=-6} // Vai limitar a aplicação do movimento para esquerda. (Não pode ser maior que -6)
x+=velocidade // Vai aplicar o movimento para direita.
if velocidade>6{velocidade=6} // Vai limitar a aplicação do movimento para direita. (Não pode ser maior que 6)
Você também pode acrescentar a velocidade na animação do personagem andando ou correndo usando a mesma programação de limitação da velocidade.
if velocidade >0.1{sprite_index=Spr_Andar;image_speed=0.2}
if velocidade >3 {sprite_index=Spr_Andar;image_speed=0.3}
if velocidade >4 {sprite_index=Spr_Andar;image_speed=0.4}
if velocidade >5 {sprite_index=Spr_Correr;image_speed=0.5}
if velocidade <-0.1{sprite_index=Spr_Andar;image_speed=0.2}
if velocidade <-3 {sprite_index=Spr_Andar;image_speed=0.3}
if velocidade <-4 {sprite_index=Spr_Andar;image_speed=0.4}
if velocidade <-5 {sprite_index=Spr_Correr;image_speed=0.5}
3. Dando o comando para o personagem andar.
É a parte mais simples de se fazer. apenas acrescentar a variável um aumento positivo ou negativo nos botões de ir para esquerda ou direita. Depende muito do gosto do programador a configuração dos botões para seu jogo! Então vou deixar apenas o código.
//Para direita
image_xscale=+1 // Inverter o objeto para direita
velocidade+=1 // adicionar a variável de velocidade uma contagem positiva crescente
//Para esquerda
image_xscale=-1 // Inverter o objeto para esquerda
velocidade-=1 // adicionar a variável de velocidade uma contagem negativa decrescente
Pronta galera, é só isso espero que tenham entendido as explicações acima. Testem e mandem pela pagina Aniteg duvidas caso o código não esteja funcionado. (Impossível não funcionar)
Pra começar vou explicar como funciona o código de movimento com aceleração usado no tutorial de game de plataforma.
1. Definindo a variável de aceleração e desaceleração
No evento create adicionaremos as duas
velocidade=0 // Se estiver em zero o objeto não fará o movimento. (Meio que isso tá bem óbvio)
Freio=0.2 // A força da frenagem a ser aplicada na velocidade
2. Programando o movimento
No evento step, vamos programar as duas variáveis do create para funcionar com a ação de movimento X do objeto.
// Esse código é a aplicação da variável freio na variável de velocidade.
// Se o movimento for acima de zero a aplicação do freio será reduzida para sua numeração neutra.
if velocidade<0{
velocidade+=freio
if velocidade>=0{
velocidade=0;{sprite_index= ???? ;image_speed=0.3}}}// Caso seu objeto tenha animação de movimento, adicione o nome do sprite de pose para que o objeto fique parado. (Basta trocar ???? pelo nome do sprite)
// Se o movimento for abaixo de zero a aplicação do freio será aumentada para sua numeração neutra.
if velocidade>0{
velocidade-=freio
if velocidade<=0{
velocidade=0;{sprite_index= ???? ;image_speed=0.3}}} // Caso seu objeto tenha animação de movimento, adicione o nome do sprite de pose para que o objeto fique parado. (Basta trocar ???? pelo nome do sprite)
//Esse código vai aplicar o movimento velocidade a ação X do objeto, fazendo com que vá para direita ou esquerda com sua aplicação na velocidade limitada.
x+=velocidade //Vai aplicar o movimento para esquerda.
if velocidade<-6{velocidade=-6} // Vai limitar a aplicação do movimento para esquerda. (Não pode ser maior que -6)
x+=velocidade // Vai aplicar o movimento para direita.
if velocidade>6{velocidade=6} // Vai limitar a aplicação do movimento para direita. (Não pode ser maior que 6)
Você também pode acrescentar a velocidade na animação do personagem andando ou correndo usando a mesma programação de limitação da velocidade.
if velocidade >0.1{sprite_index=Spr_Andar;image_speed=0.2}
if velocidade >3 {sprite_index=Spr_Andar;image_speed=0.3}
if velocidade >4 {sprite_index=Spr_Andar;image_speed=0.4}
if velocidade >5 {sprite_index=Spr_Correr;image_speed=0.5}
if velocidade <-0.1{sprite_index=Spr_Andar;image_speed=0.2}
if velocidade <-3 {sprite_index=Spr_Andar;image_speed=0.3}
if velocidade <-4 {sprite_index=Spr_Andar;image_speed=0.4}
if velocidade <-5 {sprite_index=Spr_Correr;image_speed=0.5}
3. Dando o comando para o personagem andar.
É a parte mais simples de se fazer. apenas acrescentar a variável um aumento positivo ou negativo nos botões de ir para esquerda ou direita. Depende muito do gosto do programador a configuração dos botões para seu jogo! Então vou deixar apenas o código.
//Para direita
image_xscale=+1 // Inverter o objeto para direita
velocidade+=1 // adicionar a variável de velocidade uma contagem positiva crescente
//Para esquerda
image_xscale=-1 // Inverter o objeto para esquerda
velocidade-=1 // adicionar a variável de velocidade uma contagem negativa decrescente
Pronta galera, é só isso espero que tenham entendido as explicações acima. Testem e mandem pela pagina Aniteg duvidas caso o código não esteja funcionado. (Impossível não funcionar)
eu sempre vejo esses tutoriais já e a segunda vez que vejo o seu e acho o maior erro você não usar as ferramentas do próprio game make uma ajuda visual pra quem não entende nada de programação da uma grande ajuda, mesmo assim vc consegue fazer um ótimo tutorial simples e direto
ResponderExcluirverdade
ExcluirMeu personagem não para na posição inicial, continua pulando !
ResponderExcluirvc precisa centralizar as sprites
ResponderExcluirO meu personagem para um lado está andando mais rápido e para outro mais lento, alguém sabe como arrumar?
ResponderExcluirvaleu cara você ajudou bastante
ResponderExcluiracho q a informação q ele deu ta ate boa pra quem quer apenas se mover no game, na real dps de aprender aqui e sair daqui e aprender coisas n explicada aqui por exemplo como colisão por ex, aqui n diz tudo mais a proposta do guaxinim ele cumpriu querendo ou n sendo leigo ou o código esta ae e bem explicado
ResponderExcluirnao inpota o codigo que eu coloque meu personagem nao anda
ResponderExcluiroque eu faço?
ResponderExcluireu não comssigo botar a tecla pra ele ir pra um lado ou pra outro
ResponderExcluirquais botões que usa para andar ?
ResponderExcluirCrie um evento create dentro dele colo
ResponderExcluirspd = 4;
Depois cria outro evento chamado step dentro dele coloca
if keyboard_check(vk_left);{
X -=1
}
Depois é só copiar e colar e trocar as teclas.
Espero ter ajudado
Foda lek
ExcluirEu posso usar o ord nesse código tipo
ExcluirIf keyboard_check(ord("A");{
X-=1
}
meu personagem simplesmente não quer mexer as pernas
ResponderExcluiro meu tambem não lol
Excluiro meu da o erro Assignment operator expected.
ResponderExcluir