Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
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
» Duvida em 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
» Duvida em 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