engine de corrida

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

engine de corrida

Mensagem por MATEUS123 em Seg 14 Dez 2009, 21:46

Queria q me arranjassem uma engine de corrida com as curvas e camera seguindo o carro

obs: PARA GM LITE

MATEUS123

Número de Mensagens : 9
Data de inscrição : 14/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: engine de corrida

Mensagem por jp_away em Seg 14 Dez 2009, 21:54

caso aceite um tutorial, aqui está:

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


Fonte: GOOGLE

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: engine de corrida

Mensagem por Anderson3d em Ter 15 Dez 2009, 12:54

Não tinha pensado num jogod e corrida, mas quando fuiv er, realmente não tinha amínima idéia de como fazer hahaha! vcs são mestres ein!?

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: engine de corrida

Mensagem por Conteúdo patrocinado Hoje à(s) 10:33


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