Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
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
|
|