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
» 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


#IAJ Aula 01 - Movimentação Top Down

+4
Pit Bull
Geison Barillo
Viitor03
All-x
8 participantes

Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty #IAJ Aula 01 - Movimentação Top Down

Mensagem por All-x Qui 31 Dez 2009, 20:44

INTRODUÇÃO A JOGOS



Aula 01 - Movimentação Top Down



(Atualizado 08/02/2015)

Depois de estudar muito, vamos começar a fazer nosso primeiro jogo. Mas antes de começar realmente, você precisa entender o que é x, o que é y e o que é posição absoluta e posição relativa.

X: é a posição horizontal de algum elemento.

Y: é a posição vertical de algum elemento. OBS: na matemática que nós estudamos quando um elemento esta para cima o y é positivo e quando esta para baixo é negativo. Na computação isso é invertido, em cima é negativo e embaixo é positivo.

#IAJ Aula 01 - Movimentação Top Down 01

Posição absoluta:

A posição absoluta são as posições x e y em relação à room.

Exemplo: vamos criar um objeto na posição x 10 e y 10 na room:

Código:
instance_create(10, 10, obj)

Posição relativa:

A posição relativa é a posição x e y em relação à outro número.

Exemplo: vamos criar um objeto na posição x+10 e y+10 no objeto que o criou:

Código:
instance_create(x+10, y+10, obj)

O x e o y presentes no código são as posições do objeto na room, em que o código foi colocado. Ou seja se o x do objeto na room é 32 é como se fosse 32+10.

Começando a movimentar:

Antes de tudo baixe esta engine:





Guarde essa engine, usaremos ela nas próximas aulas.

Depois de baixar vamos começar a mover nosso player. Vamos ao step do player. Coloque o seguinte código:

Código:
//direita
if keyboard_check(vk_right)
{
sprite_index = direita
if place_free(x+4, y){x += 4}
}

Saiba mais sobre a função place_free, no tutorial abaixo:

Colisões simples

Tradução:

Código:
//direita
se tecla_estiver_sendo_pressionada(tecla_direita)
{
sprite=direita
se estiver_livre_de_colisão_com_sólidos(x+4,y){andará 4 pixels à direita x+=4}
}

- A função keyboard_check, verifica se alguma tecla esta sendo pressionada constantemente.

- A variável local sprite_index, muda a sprite do objeto.

- A função place_free, verifica se tais posições x e y estão livres de colisões com objetos sólidos.

- A variável x guarda a posição horizontal do objeto em relação a room. e usamos a operação matemática de adição para move-lo para direita.

Se entendeu bem como funciona as posições x e y, não será problema fazer as outras movimentações. Então o código final do step será este:

Código:
//direita
if keyboard_check(vk_right)
{
sprite_index=direita
if place_free(x+4,y){x+=4}
}
//esquerda
if keyboard_check(vk_left)
{
sprite_index=esquerda
if place_free(x-4,y){x-=4}
}
//cima
if keyboard_check(vk_up)
{
sprite_index=cima
if place_free(x,y-4){y-=4}
}
//baixo
if keyboard_check(vk_down)
{
sprite_index=baixo
if place_free(x,y+4){y+=4}
}

Engine completa:





Agora entenda algo muito importante, o valor adicionado nas posições x e y é 4, pois ele é múltiplo de 32, que é a grade da room e a largura e altura de seus objetos. Tente mudar todos esse 4 para 5, dificilmente você passará nos cantos estreitos do jogo. Mas porque? Por que as mudanças de posição são como tele transportes, e como ele esta checando sempre o que esta em colisão ele pode parar um pouco antes do previsto. Mude todos esses 4 para 32, que você entenderá melhor o que eu quiz dizer com tele transporte.

Mas aí tu me pergunta: Não poderei usar outros valores além desse múltiplos?

Pode sim. Só teríamos que mudar nosso código usando um loop repeat:

Código:
//direita
if keyboard_check(vk_right)
{
    sprite_index=direita
    
    repeat(7)
    {
        if place_free(x+1,y){x+=1}
    }
}

Repare que mudamos o valor de 4 para 1, logo ele teria velocidade 1. Mas o loop repeat ocorre 7 vezes, então no mesmo frame (step) o repeat faz nossa expressão ocorrer 7 vezes (Ou seja, velocidade vai ser 7). Assim temos uma checagem de colisão perfeita que checa pixel por pixel não importando o número de vezes que ocorra. Isso chama-se pixel perfect.

Mais sobre o loop repeat na aula abaixo:

#IEM Aula 06 - For, do, until e repeat

Até mais!!!

Próxima aula: tiro Top Down



FLWS!


Última edição por Alex FC em Seg 09 Fev 2015, 19:41, editado 21 vez(es) (Motivo da edição : Atualização)
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : #IAJ Aula 01 - Movimentação Top Down Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Perfeito! =D

Mensagem por Viitor03 Ter 29 Mar 2011, 22:34

Ótimoo! xD
na verdade, eu já tinha feito movimentação antes.
Mas tbm testei a movimentação do teu tutorial , e tá excelente! Very Happy
Movimentação é uma coisa mto fácil. Razz
Viitor03
Viitor03

Data de inscrição : 14/03/2011
Reputação : 3
Número de Mensagens : 16
Prêmios : #IAJ Aula 01 - Movimentação Top Down 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://www.orkut.com.br/Main#Profile?rl=mp&uid=1309301610595

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por Geison Barillo Sex 30 Set 2011, 20:14

Ola senhor
Tentei baixar esta engine mais ao clicar no DOWNLOAD ENGINE apágina não é encontrada.Alguma sujestão?Obrigado
Geison Barillo
Geison Barillo

Data de inscrição : 25/09/2011
Reputação : 1
Número de Mensagens : 9
Prêmios : #IAJ Aula 01 - Movimentação Top Down 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:// geison-gamedesign.blogspot.com

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por Pit Bull Sex 30 Set 2011, 20:23

Aqui ta funcionando tranquilo.
copie e cole no navegador
Código:
http://www.fileden.com/files/2009/5/31/2462226/engine_movimenta%C3%A7%C3%A3o_td.gmk
Pit Bull
Pit Bull

Data de inscrição : 31/08/2010
Reputação : 16
Número de Mensagens : 646
Prêmios : #IAJ Aula 01 - Movimentação Top Down 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 :
  • Unity
  • C#
  • Outros


https://discord.gg/ZPM2d6q

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por Joton Sex 30 Set 2011, 20:36

Geison Barillo tome cuidado em postar nos tópicos, veja a data do ultimo post, pois alguns tópicos não podem ser revivido se você não for o autor do mesmo, acarretando perda da sua warning se você continuar revivendo outros tópicos

Em todo o caso, você pode mandar um MP para o dono do tópico.

Sugiro que leias as regras para não cometer infrações que desconheça.
Joton
Joton

Games Ranking : Nota B

Notas recebidas : A+B+C
Data de inscrição : 25/07/2010
Reputação : 5
Número de Mensagens : 867
Prêmios : #IAJ Aula 01 - Movimentação Top Down Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 2 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 1.4
  • Unity
  • Javascript


http://jotonsn.blogspot.com/

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por Jimkim000 Qua 07 Dez 2011, 19:04

Y: é a posição vertical de algum elemento. OBS: na matemática que nós estudamos quando um elemento esta para cima o y é positivo e quando esta para baixo é negativo. No Game Maker isso é invertido, encima é positivo e embaixo é negativo.

ih num eh a mesma coisa?
Alias bom tuto!
Jimkim000
Jimkim000

Data de inscrição : 25/07/2009
Reputação : 0
Número de Mensagens : 103
Prêmios : #IAJ Aula 01 - Movimentação Top Down 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

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por All-x Sáb 20 Out 2012, 23:33

Aula atualizada - 20/10/12:

- Melhora na grafia e explicação;
- Atualização das engines.

Ps: As próximas aulas serão atualizadas em breve.

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : #IAJ Aula 01 - Movimentação Top Down Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por manobrother Ter 25 Fev 2014, 17:04

Tem algum comando ou de alguma forma proibir o comando de uma tecla? Por exemplo, eu quero que quando eu clicar no "V" não possa clicar no "W", alguém entendeu? Se entendeu sabe como?
manobrother
manobrother

Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios : #IAJ Aula 01 - Movimentação Top Down 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

Ir para o topo Ir para baixo

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

Mensagem por WellingtonBecker Ter 25 Fev 2014, 20:07

Amigo, use true e false. Excelente para esses casos.
WellingtonBecker
WellingtonBecker

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios : #IAJ Aula 01 - Movimentação Top Down 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

#IAJ Aula 01 - Movimentação Top Down Empty Re: #IAJ Aula 01 - Movimentação Top Down

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