Corrida tutorial

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Corrida tutorial

Mensagem por jp_away em Dom 13 Set 2009, 16:32

Me arrumem um tuto de corrida 2D???p f

jp_away

Ranking : Nota D
Número de Mensagens : 859
Data de inscrição : 05/09/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.jpgamesweb.xpg.com.br/

Voltar ao Topo Ir em baixo

Re: Corrida tutorial

Mensagem por ManoLego em Dom 13 Set 2009, 23:42

se for vista de cima
ta aqui
os códigos não estão tão bem explicados, mas são códigos muito simples, fáceis de serem entendidos.

Crie um novo projeto.
Lembre-se que vamos fazer apenas o jogo funcionar. Se você quiser, depois pode incrementá-lo com sons e gráficos melhores, mas eu vou usar o que for mais fácil e simples. Os gráficos usados estão anexados neste post.

Crie um sprite spr_carro usando a imagem do carro. Abra o Sprite Editor, e no menu Transform, vá em Resize Canvas, pra modificar o tamanho da imagem. Desmarque a caixa Keep aspect ratio, e coloque 90 por 90 (vai dar 214% por 115%) e dê OK. Agora vá em Transform > Rotate 90 clockwise.
Agora, vamos animar o carro, para dar a impressão de curva, de que o carro gira. Na guia Animation, vá em Rotation Sequence > Counter-Clockwise, e coloque 72 frames. Veja que foram criados frames de animação do carro girando de 5 em 5 graus (isto é, 360 graus, volta completa, divididos por 72, número de frames).
Se você marcar a opção Show Preview, verá o carro girando.
Dê OK, centraliza as coordenadas do sprite, clicando em Center e dê OK novamente.

Agora vamos criar um sprite que irá delimitar as laterais da pista.
Crie um novo sprite spr_parede usando a imagem do bloco cinza. Desmarque a caixa Transparent, centralize as coordenadas e dê OK.

Agora, vamos criar o sprite do adversário. Duplique o spr_carro, coloque como spr_carro2, vá no Sprite Editor, Image > Colorize Partial, e coloque uma cor diferente do outro carro.

Usando a imagem do retângulo quadriculado, crie o spr_chegada.

Acabamos os sprites. Vamos aos Objects.

Primeiro, o obj_carro, o carro controlável pelo jogador.
Coloque o spr_carro, marque a opção Solid, vá no evento Create e coloque o código abaixo:

Código:
Código:
friction = .6
image_speed = 0
No evento Step, coloque este código:

Código:
Código:
if keyboard_check(vk_up) then motion_set(direction,10);
if keyboard_check(vk_right) then direction -= 5;
if keyboard_check(vk_left) then direction += 5;

image_index = direction * image_number/360;
Pronto. Assim o carro já se move, faz curva, desacelera se você parar de pressionar, e o sprite aponta para a direção certa.

Crie um objeto obj_parede, coloque o spr_parede, marque a caixa Solid, e volte ao obj_carro.
No obj_carro, evento Collision > obj_parede, adicione este código:


Código:
Código:
move_contact_solid(direction,-10)
Próximo passo, o adversário. Pra que ele percorra a pista, vamos usar um Path. Mas para isso, antes teremos que criar a room da pista. Crie uma room, e delimite a pista com o obj_parede. Ainda na room, não esqueça de definir uma View que siga o obj_carro, para você sempre vê-lo (uma das Aulas de GML fala sobre Views, caso você não saiba usar).
Antes de criar o Path, crie o obj_carro2, e faça igual ao obj_carro, só retire a parte do evento Step que tem keyboard_check, deixe só a última linha. Coloque um obj_carro2 na room da pista.

Agora crie um Path.
Aparecerá a janela Path Properties. Na barra de ferramentas, o último ícone é Indicate a room to show as background. Clique nesse ícone e escolha a room da sua pista. Ela apareceu no fundo, não é mesmo?
Então, agora é só você definir o caminho que o carro adversário vai seguir nessa pista.

Uma vez que você marcou todos os pontos e definiu o path, salve e vá no obj_carro2.

No evento Create do obj_carro2, adicione esta linha:

Código:
Código:
path_start(nome_do_seu_path,8,0,0)
Esta linha configura para este objeto o path que você fez, com velocidade 8, indica que ele deve parar ao fim do path e que a posição do path é relativa.
Na ajuda do GM, se você consegue ler em inglês, há muito mais detalhes sobre isso aqui e tudo que já foi feito antes.

Agora, para evitar que os carros se choquem, no evento Collision > obj_carro2 do obj_carro, coloque este código:


Código:
Código:
move_outside_solid(direction,16)
Agora para terminar, vamos fazer a linha de chegada. Crie um objeto obj_chegada, usando o spr_chegada. No evento Step, coloque este código:

Código:
Código:
if collision_rectangle(x-64,y-8,x+64,y+8,obj_carro,1,0)
{
show_message("Voce ganhou");
game_restart();
}
else if collision_rectangle(x-64,y-8,x+64,y+8,obj_carro2,1,0)
{
show_message("Voce perdeu");
game_restart();
}
Este código irá mostrar na tela quem venceu ("Voce perdeu" ou "Voce ganhou") e depois irá reiniciar o jogo

espero que seja o que voce quer... Razz

ManoLego

Número de Mensagens : 192
Idade : 19
Data de inscrição : 06/09/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Corrida tutorial

Mensagem por SIGILOSO em Seg 14 Set 2009, 07:24

Belo tuto,mto claro e explicativo Happy
Garanto q o cara q pediu esse tuto vai fika agradecido
afro

SIGILOSO

Ranking : Nota A
Número de Mensagens : 2264
Idade : 23
Data de inscrição : 06/06/2009
Notas recebidas : A+A+A+A+A+A+A
Reputação : 39
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 4
   : 2
   : 1

Voltar ao Topo Ir em baixo

Re: Corrida tutorial

Mensagem por ManoLego em Seg 14 Set 2009, 11:23

brigadoaun.XXDD
hei...qualquer coiza tamo ai ta ok... Cool

ManoLego

Número de Mensagens : 192
Idade : 19
Data de inscrição : 06/09/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Corrida tutorial

Mensagem por doidobr em Seg 14 Set 2009, 12:36

Muito bom o tutorial,impressionante!

doidobr

Número de Mensagens : 669
Idade : 22
Data de inscrição : 21/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Corrida tutorial

Mensagem por Conteúdo patrocinado Hoje à(s) 18:24


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum