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
» player não consegue andar
por 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


Carro (Top-Down)

+3
Alexandre Dias
Fuzenrad
Gonçalves
7 participantes

Ir para baixo

carro - 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 - Carro (Top-Down) T1

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

carro - 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 - Carro (Top-Down) T3

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

Resultado:

carro - 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 - Carro (Top-Down) Grama

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

carro - 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 - 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 - 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 - Carro (Top-Down) A1_7 carro - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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