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
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07

» 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


Carro (Top-Down)

+3
Alexandre Dias
Fuzenrad
Gonçalves
7 participantes

Ir para baixo

Carro (Top-Down) Empty Carro (Top-Down)

Mensagem por Gonçalves Sáb 06 Nov 2010, 01:50

Carro (Top-Down)

Este tutorial aborda como:

- Desenhar um carrinho básico.
- Acelerar, freiar, dar ré e fazer curvas.
- Criar uma pista por tiles.

Lembrando, você precisará do Game Maker PRO!


Desenhando um carrinho básico

Bom, a primeira coisa que faremos é desenhar um carrinho, que é muito simples, até porquê, em jogos Top-Down não há necessidade de desenhar gráficos para todos as posições do carro. Primeiramente crie um sprite, nomeie-o como quiser, depois clique em Edit Sprite, crie uma nova imagem com 24x16, como a seguir:

Carro (Top-Down) T1

Agora clique duas vezes na imagem e abrirá o editor, ponha Zoom 800% e siga os templates:

Carro (Top-Down) T2

1. Faça um retângulo
2. Faça o desenho das rodas
3. Dentro dele faça outros dois, na vertical, que são os vidros do carro

Para seu carro ficar menos "quadradão", faça como nas imagens abaixo:

Carro (Top-Down) T3

1. Tire as pontas
2. Ponha fárois
3. Pinte-o como preferir

Resultado:

Carro (Top-Down) T5

Criando o objeto do carro

Crie o objeto do carro, ponha como sprite o que você criou, no evento Create, arraste o Execute Code para as ações, dentro dela coloque o seguinte:

Código:
vel_maxima = 6
Define qual a velocidade máxima que o carro poderá atingir.

Código:
aceleracao = 0.2
Define a aceleração do carro, quanto maior, menos tempo levará para alcançar a velocidade máxima.

Código:
freio = 0.2
Define a força do freio do carro, quanto maior, menos tempo ele levará para atingir 0 quando estiver freiando.

Código:
curva = 2.5
Define a curva do carro, quão maior, mais rápido ele curvará.

Código:
friction = 0.07
Define quanto tempo ele levará para atingir velocidade 0 quando não estiver acelerando.

No todo ficará assim:

Código:
vel_maxima = 6
aceleracao = 0.2
freio = 0.2
curva = 2.5
friction = 0.07

Você pode modificar e deixar como quiser.

Para que as váriaveis criadas acima tenham utilidade, você deve criar o script principal, para isso, no evento Step, arraste o Execute Code para as ações. Dentro dele deve-se colocar isso:

Código:
if keyboard_check(vk_left) && speed != 0
{image_angle += curva}
O que simplesmente fizemos foi, checar se a tecla esquerda (vk_left) foi pressionada e a velocidade (speed) do carro é diferente de 0 (Pois um carro não pode virar parado), se sim, o ângulo da imagem (image_angle) aumentará pela var curva do carro, que definimos no create.

Código:
if keyboard_check(vk_right) && speed != 0
{image_angle -= curva}
Aqui o o contrário, verificamos se a tecla direita foi pressionada e o speed diferente de 0, se sim, image angle é subtraído pela curva do carro.

Código:
direction = image_angle
Sem isso, o ângulo da imagem mudará, mas o carro continuará andando na mesma direção.

Código:
if keyboard_check(vk_up)
{if speed < vel_maxima{speed += aceleracao}}
Agora checamos se a tecla pra cima foi pressionada, se sim, checamos se a var speed é menor que a var velocidade máxima (Assim, impedindo que passe do limite), se sim, aumentamos a var speed pela var aceleração.

Código:
if keyboard_check(vk_down)
{if speed > vel_maxima*-1/2{speed -= freio}}
Agora checamos se a tecla baixo foi pressionada, se sim, checamos se a var speed é maior que a var velocidade máxima multiplicada por -1 dividida por 2 (Se no caso, velocidade máxima é 6, a negativa é -3), se sim, a var speed é subtraída pela var freio.

Tudo junto:

Código:
if keyboard_check(vk_left) && speed != 0
{image_angle += curva}
if keyboard_check(vk_right) && speed != 0
{image_angle -= curva}
if keyboard_check(vk_up)
{if speed < vel_maxima{speed += aceleracao}}
if keyboard_check(vk_down)
{if speed > vel_maxima*-1/2{speed -= freio}}

Resultado:

Seu carro já acelera, freia, dá ré e faz curvas.

Criando pistas por tiles

Agora, faremos uma pista usando tiles, para criar um tile é simples, mas antes criaremos o background (o chão da room). Vá em Background e crie uma grama, se não souber como, baixe a imagem abaixo:

Carro (Top-Down) Grama

Clique em Load Background e escolha o gráfico da grama.

Carro (Top-Down) T6

Não se esqueça de deixar a caixa Use as tile set desmarcada.

Nossa pista terá medida de 128x128. Abra o Paint (ou qualquer programa do tipo) e crie uma imagem, seu tamanho deverá ser de 128x128, como abaixo:

Carro (Top-Down) T7

Vá em Resize e dobre o tamanho, para 256x256, agora crie um círculo na imagem, com as cores que deseja para a pista:

Carro (Top-Down) T8

Salve-o, o nome pode ser qualquer um, por exemplo, curvas.

Agora vamos às retas, crie imagens de 128x16 e 16x128, recomendo baixar as de baixo:

Carro (Top-Down) A1_7 Carro (Top-Down) A2

Agora no seu projeto, crie um Background, carregue a imagem do círculo, tire o fundo branco em Image > Erase a Color, e marque a opção Use as tile set, e divida por 4, como abaixo:

Carro (Top-Down) T11

Faça também com a estrela, com as curvas, o tile width e o tile height devem ser do mesmo tamanho da imagem, e use no seu mapa, se não sabe, veja como aqui: http://www.gamemakerbrasil.com/game-maker-f36/utilizando-tiles-em-seu-jogo-t516.htm#2761

Resultado:

Carro (Top-Down) T12

Eu particularmente prefiro uma cor mais escura, então o meu ficou assim.

Créditos:

matheus.reis


Última edição por matheus.reis em Sáb 06 Nov 2010, 21:39, editado 3 vez(es)
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Convidad Sáb 06 Nov 2010, 10:04

cara ajudou eu pra caramba cara ta muito bom essa tuto,devia ter qualidade 100%
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Gonçalves Sáb 06 Nov 2010, 21:12

Valeu! Razz
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Fuzenrad Sáb 06 Nov 2010, 21:35

Ótimo tutorial, bastante explicativo.

Só precisa de correção nas imagens do final, que estão muito pequenas. Você postou a imagem com o link das miniaturas do imageshack.
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Gonçalves Sáb 06 Nov 2010, 21:41

Já consertei.
Até. tongue
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Alexandre Dias Sáb 06 Nov 2010, 21:45

Que rápido.
O tutorial parece muito bom, já que está cheio de imagens e li um pouco a explicação também está boa. Usarei ele quando for fazer um jogo de carro top down.
Alexandre Dias
Alexandre Dias

Data de inscrição : 13/10/2010
Reputação : 8
Número de Mensagens : 397
Prêmios : Carro (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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Adriel Ter 16 Nov 2010, 20:32

Este tuto está excelente, tentei até fazer um baseado nele mas... achei um erro :|

Na hora de acelerar, tem que colocar pra ele ir na direção que o carro virar! Mesmo que você esteja de lado e apertar o botão de acelerar, ele vai pro lado! Sacou a minha dúvida?
Adriel
Adriel

Data de inscrição : 18/07/2009
Reputação : 2
Número de Mensagens : 924
Prêmios : Carro (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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Gonçalves Ter 16 Nov 2010, 20:38

Não... Talvez você tenha colocado duas condições iguais nessa parte:

Código:
if keyboard_check(vk_left) && speed != 0
{image_angle += curva}
if keyboard_check(vk_right) && speed != 0
{image_angle -= curva}
if keyboard_check(vk_up)
{if speed < vel_maxima{speed += aceleracao}}
if keyboard_check(vk_down)
{if speed > vel_maxima*-1/2{speed -= freio}}

Ou então você esqueceu de colocar isso no Step:

Código:
direction = image_angle
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Adriel Ter 16 Nov 2010, 20:41

Ih é! Eu não tinha colocado o "direction = image_angle"

Foi mal Razz

Outra dúvida, sabe como faço pra, quando virar ( dar "cavalo-de-pau" ) execute o sound0?
Adriel
Adriel

Data de inscrição : 18/07/2009
Reputação : 2
Número de Mensagens : 924
Prêmios : Carro (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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por CLS Ter 16 Nov 2010, 20:47

Adriel escreveu:Ih é! Eu não tinha colocado o "direction = image_angle"

Foi mal Razz

Outra dúvida, sabe como faço pra, quando virar ( dar "cavalo-de-pau" ) execute o sound0?

Faça isso:

Código:
//Códigos que faz o carro fazer drift
sound_play(Aqui você coloca o nome do som)
CLS
CLS

Data de inscrição : 13/05/2010
Reputação : 1
Número de Mensagens : 298
Prêmios : Carro (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.totalmakers.forumais.com

Ir para o topo Ir para baixo

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Adriel Ter 16 Nov 2010, 20:48

Pois é isso mesmo que eu quero! Mas tem um problema, eu não sei qual o code de drift :|

Esse teu code eu já sabia :|
Adriel
Adriel

Data de inscrição : 18/07/2009
Reputação : 2
Número de Mensagens : 924
Prêmios : Carro (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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Gonçalves Ter 16 Nov 2010, 20:55

Substitua o início do código do Step por isso.

Código:
if keyboard_check(vk_left) && speed != 0
{
image_angle += curva
sound_play(sound0)
}
if keyboard_check(vk_right) && speed != 0
{
image_angle -= curva
sound_play(sound0)
}
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por Ishgnea Qua 27 Abr 2011, 00:50

Muito bom seu tuto, é exatamente o que eu estava precisando!!!

Parabéns!
Ishgnea
Ishgnea

Data de inscrição : 25/04/2011
Reputação : 0
Número de Mensagens : 1
Prêmios : Carro (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

Carro (Top-Down) Empty Re: Carro (Top-Down)

Mensagem por sonic luan Qua 27 Abr 2011, 09:53

muito legal vai ajudar bastante gente Very Happy


PS :. Hoje e meu Anniversario! Carro (Top-Down) 66072
sonic luan
sonic luan

Games Ranking : Nota C

Notas recebidas : C-D-A-C
Data de inscrição : 28/01/2011
Reputação : 18
Número de Mensagens : 1003
Prêmios : Carro (Top-Down) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://sonicmaker.forumeiros.com/memberlist

Ir para o topo Ir para baixo

Carro (Top-Down) Empty Re: Carro (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