Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Sex 26 Abr 2024, 19:49
» 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
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» 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
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
Conceitos básicos de lógica e jogos de plataforma
5 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Conceitos básicos de lógica e jogos de plataforma
O computador não pensa nem sabe, apenas obedece.
Isso nos leva à vários mandamentos:
1 - Moverás.
Seu personagem só vai se mover para os lados se estiver programado para isso.
Nesse caso, colocamos no evento <Right>, um Jump to position com x = 2 relativo.
O que isso significa É que, enquanto a seta direita estiver pressionada, ele se moverá 2 pixels para a direita.
2 - Pularás.
No evento Key Press <Up>, você deverá mandar que a velocidade vertical seja negativa em 8.
3 - Retornarás ao chão.
Certo, você mandou ela pra cima. Mas ela continuará subindo... já que ninguém disse a ela para parar
Coloque no Step Event o seguinte: Check Empty na aba control, com dados x = 0 e y = 1, relativo. Isso irá testar se o pixel logo abaixo do objeto está livre ou não, e retornará verdadeiro caso esteja.
Seguido disso, coloque Set Gravity, da aba Move, e coloque a direção 270 e a gravidade desejada, sendo que 0.2 é pouco e 0.9 é demais. Procure pôr Start block antes da Set Gravity e End block depois dela. Isso é um bom hábito.
4 - Pararás ao retornar ao chão.
Bom, estamos quase lá. Só falta fazer com que ela não continue caindo quando volta ao chão
Adicione um evento de colisão com o objeto da parede. Faça a velocidade vertical voltar a zero e a gravidade virar 0. PS: Se notar algo estranho nessa parte, faça a direção da gravidade ser 270 (para baixo).
Parte 2! Com mais 2 mandamentos.
5 - Pararás ao deparar-se com a parede.
Se você não quiser que a bola continue quando está de frente com a parede (caso ela andar 2 pixels a mais, entraria na parede), deve fazê-la andar apenas se houver espaço.
Coloque um Check Empty no começo do evento <Right> (coloque x 2 relativo) e do <Left> (x -2 relativo), colocando o restante entre blocos. Usamos o mesmo bloco do chão para as paredes (lembre-se de adicioná-las).
6 - Só pularás se realmente estiver no chão.
Do último tutorial, você pode pular mesmo quando estiver no ar. Isso não é agradável na maior parte dos casos. Na verdade, só deverá pular se houver chão logo embaixo.
Aplique um teste Check Empty, assinalar NOT, e colocar y 1 relativo antes das ações de pulo (as ações devem estar entre blocos, também).
Caso vocês queriam saber de mais alguma função específica, por favor, peçam neste tópico, e tentarei atualizar o tutorial de acordo.
Isso nos leva à vários mandamentos:
1 - Moverás.
Seu personagem só vai se mover para os lados se estiver programado para isso.
Nesse caso, colocamos no evento <Right>, um Jump to position com x = 2 relativo.
O que isso significa É que, enquanto a seta direita estiver pressionada, ele se moverá 2 pixels para a direita.
Relativo significa que se moverá 2 pixels conforme a posição atual dele. Se não for relativa, ele irá pular pro segundo pixel da esquerda pra direita da tela toda.
2 - Pularás.
No evento Key Press <Up>, você deverá mandar que a velocidade vertical seja negativa em 8.
O evento Key Press acontece apenas quando a tecla é apertada, e não quando está sendo pressionada ou soltada.
Por que negativa Por que negativo é para cima na vertical, e para a esquerda na horizontal. Os pixels são contados do canto cima/esquerda para o canto baixo/direita.
3 - Retornarás ao chão.
Certo, você mandou ela pra cima. Mas ela continuará subindo... já que ninguém disse a ela para parar
Coloque no Step Event o seguinte: Check Empty na aba control, com dados x = 0 e y = 1, relativo. Isso irá testar se o pixel logo abaixo do objeto está livre ou não, e retornará verdadeiro caso esteja.
Seguido disso, coloque Set Gravity, da aba Move, e coloque a direção 270 e a gravidade desejada, sendo que 0.2 é pouco e 0.9 é demais. Procure pôr Start block antes da Set Gravity e End block depois dela. Isso é um bom hábito.
O Step event acontece em cada frame do jogo. No nosso caso, queremos que a gravidade seja aplicada sempre que não estiver no chão. Se você quer algo sempre acontecendo no seu objeto, coloque no Step event!
A direção 0 ou 360 é para a direita, 90 é para cima, 180 é para a esquerda, e 270 é para baixo. Começando da direita até chegar na direita de novo, no sentido anti-horário, forma-se o círculo dos ângulos.
4 - Pararás ao retornar ao chão.
Bom, estamos quase lá. Só falta fazer com que ela não continue caindo quando volta ao chão
Adicione um evento de colisão com o objeto da parede. Faça a velocidade vertical voltar a zero e a gravidade virar 0. PS: Se notar algo estranho nessa parte, faça a direção da gravidade ser 270 (para baixo).
Lembre-se de deixar sua parede sólida. Assim, os outros objetos nunca a atravessarão com velocidades verticais ou horizontais.
Parte 2! Com mais 2 mandamentos.
5 - Pararás ao deparar-se com a parede.
Se você não quiser que a bola continue quando está de frente com a parede (caso ela andar 2 pixels a mais, entraria na parede), deve fazê-la andar apenas se houver espaço.
Coloque um Check Empty no começo do evento <Right> (coloque x 2 relativo) e do <Left> (x -2 relativo), colocando o restante entre blocos. Usamos o mesmo bloco do chão para as paredes (lembre-se de adicioná-las).
Os ícones em azul são "testes" e apenas se eles resultarem em verdade que as ações entre blocos a seguir acontecerão.
6 - Só pularás se realmente estiver no chão.
Do último tutorial, você pode pular mesmo quando estiver no ar. Isso não é agradável na maior parte dos casos. Na verdade, só deverá pular se houver chão logo embaixo.
Aplique um teste Check Empty, assinalar NOT, e colocar y 1 relativo antes das ações de pulo (as ações devem estar entre blocos, também).
NOT significar testar pelo oposto. O teste Check empty vê se o lugar está livre, então um NOT vê se está ocupado.
Caso vocês queriam saber de mais alguma função específica, por favor, peçam neste tópico, e tentarei atualizar o tutorial de acordo.
Última edição por KinKing em Sex 03 Ago 2012, 12:22, editado 5 vez(es)
Re: Conceitos básicos de lógica e jogos de plataforma
cara eu tentei fase um jogo seguindo esse tutorial so pra ver e olha noq deu http://www.4shared.com/file/51245084/ff4f3e4d/gmk.html?dirPwdVerified=5e389b0b
nao sei como fiz isso O.O mas parece um efeito legal pra dragon ball
nao sei como fiz isso O.O mas parece um efeito legal pra dragon ball
TheLek- Data de inscrição : 11/06/2008
Reputação : 0
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Conceitos básicos de lógica e jogos de plataforma
Havia uma omissão de instrução, que foi corrigida. Era a falta de dizer que era pra usar o Jump to Position na hora de mover.
Acabo de adicionar mais 2 mandamentos ao tutorial, acho que os básicos estão todos cobertos aqui no tópico. No caso de dúvidas, é só perguntar, e também aceito pedidos, conforme dito no tutorial.
Lembrem-se de postar o erro de vocês/lê-lo e tentar consertá-lo... Sejam sempre muito específicos. Valeu!
Acabo de adicionar mais 2 mandamentos ao tutorial, acho que os básicos estão todos cobertos aqui no tópico. No caso de dúvidas, é só perguntar, e também aceito pedidos, conforme dito no tutorial.
Lembrem-se de postar o erro de vocês/lê-lo e tentar consertá-lo... Sejam sempre muito específicos. Valeu!
Re: Conceitos básicos de lógica e jogos de plataforma
Eu sei que é tarde de mais pra responder mas... me ajudou muito!
ArMario- Data de inscrição : 24/08/2008
Reputação : 0
Número de Mensagens : 4
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Conceitos básicos de lógica e jogos de plataforma
Legal... mas, quando a bola tem tem de saltar pra algum lado, ela precisa primeiro saltar e depois selecionar a direção...Tem como fazer a bola saltar já com a direção selecionada?
Player Z- Data de inscrição : 11/04/2009
Reputação : 0
Número de Mensagens : 86
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Conceitos básicos de lógica e jogos de plataforma
Player Z escreveu:Legal... mas, quando a bola tem tem de saltar pra algum lado, ela precisa primeiro saltar e depois selecionar a direção...Tem como fazer a bola saltar já com a direção selecionada?
Eu entendi, depois de muito testar, o problema: No passo 4, você não pode deixar a direção da gravidade como 0. Tem que deixar também como 270.
Tópicos semelhantes
» Tutorial: Lógica em jogos de luta (colisões) Parte 1
» Tutorial: Lógica em jogos de luta (colisões) Parte 2
» Movimentos e colisões em jogos de plataforma
» Jogos de plataforma.
» Sobre jogos de plataforma
» Tutorial: Lógica em jogos de luta (colisões) Parte 2
» Movimentos e colisões em jogos de plataforma
» Jogos de plataforma.
» Sobre jogos de plataforma
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|