[Resolvido]Carreta TopDown

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

Resolvido [Resolvido]Carreta TopDown

Mensagem por Limalokão em Ter 27 Set 2011, 03:22

Oloco galerinha, ninguém nunca pensou em fazer algum jogo de carreta? Eu pensei hoje! Mas ai que ta o problema, como fazer a carreta? Alguém sabe? O "cavalo" (parte da frente) eu ja fiz bunitinho ja fiz ateh a carreta seguir o cavalo mas ela nao vira aos poucos que nem uma carreta normal e sim parece um caminhão! Alguém? Alguma ideia? Procurei no google, no forum yoyogames, no yahoo search, em ingles, em portugues e nada! Talvez você que eh mais experiente que eu consiga fazer isso! Seria uma boa ideia pq nao existe! Nem a Extreme Physics tem Suspect Vlws se alguem puder ajudar! ;D


Última edição por Soul Limaloko em Qua 28 Set 2011, 14:24, editado 1 vez(es)

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por Alex FC em Ter 27 Set 2011, 08:52

Primeiro de tudo, tu vai ter que criar um Vetor. Esse vetor vai ser o encaixe entre o cavalo e o bau.

Depois na sprite do bau centralize exatamente na área do encaixe.

A parte dificil é que cada um tem uma força e direção. Uma é dependente da outra. Mas se tu quer só brincar use só a direção.

Na direção você terá que ter um delta (diferença) entre a direção do caminhão e a direção do bau. Ex:
Código:
delta=cam.direction-bau.directoin
E somar isso na direção do bau lentamente, com a ajuda de outra variável.

Boa sorte ae, vai ser um pouco complicado. Vou tentar fazer uma engine aqui. Mas vai tentando ae.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por Limalokão em Ter 27 Set 2011, 13:48

aushauhsuahs To tentando cara de várias formas e nada! O que eu pensei eh que se desse para fazer tipo um circulo entre o x e o y do cavalo por exemplo: x1=cavalo.x-1, x2=cavalo.x+1, y1=cavalo.y-1, y2=cavalo.y+1 e fazer o x da carreta rodar ali dentro, mas axo que nao tem como neh! :s

EDIT

Para fazer a carreta seguir o cavalo estou usando esse cód.
Código:
carreta.x = x+ lengthdir_x(speed,direction)
carreta.y = y+ lengthdir_y(speed,direction)

EDIT²
Dei uma olhada na sua engine! Vou tentar usa-la Está muito boa!

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por saim em Ter 27 Set 2011, 14:50

Não sei como está a engine, mas suponho que o certo a fazer seria:
- mova o cavalo
- atualize a posição do engate do cavalo (se for a origem dele, não precisa atualizar)
- gire a carreta, de forma que ela "aponte" para o engate do cavalo
- mova a carreta, de forma que o engate dela se encaixe no engate do cavalo

Como isso tem que ser feito na ordem certa, a coisa seria feita em um objeto só (pra não correr o risco de consertar a carreta e, depois disso, mover o cavalo).

Pseudocode do step do cavalo do bandido:
(k=uma constante qualquer, que não é igual ao longo do código, definida em função da sprite):
Código:
x+=umTanto
y+=outroTanto
image_angle+=rotação

engateX=x+lengthdir_x(k, image_angle+k); engateY=y+lengthdir_y(k, image_angle+k)

with(carreta){
image_angle=point_direction(x, y, other.engateX, other.engateY);
//lembre que o código abaixo é pra ser usado dentro do with, ou seja, na carreta
engateX=x+lengthdir_x(k, image_angle+k); engateY=y+lengthdir_y(k, image_angle+k)
x+=other.engateX-engateX; y+=other.engateY-engateY
}

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por Limalokão em Ter 27 Set 2011, 22:44

saim não consegui adaptar seu código aos scripts. =/

Então a engine do movimento está aqui: http://dl.dropbox.com/u/8556803/teste_carreta.gmk
Se puderem me ajudar! ;D e ajudar a UM MONTE DE GENTE TBM! ;D

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por saim em Qua 28 Set 2011, 12:17

Estou sem o GM aqui, mas olha só o que eu fiz. Vou mostrar o create só pra você enteder as variáveis:
Código:
rebX=x-16 //ponto do engate
rebY=y    //ponto do engate
delta=16  //distância entre origem e ponto do engate
giro=180  //ângulo entre origem e ponto do engate
spd=4    //velocidade (constante, a princío)
e o step do cavalo:
Código:
//movimenta
image_angle+=(keyboard_check(vk_left)-keyboard_check(vk_right));
move=(keyboard_check(vk_up)-keyboard_check(vk_down))*spd;
x+=lengthdir_x(move, image_angle);
y+=lengthdir_y(move, image_angle);

//atualiza o ponto do engate
rebX=x+lengthdir_x(delta,image_angle+giro); rebY=y+lengthdir_y(delta,image_angle+giro);

//puxa o reboque
with(obj_reboque){
   image_angle=point_direction(x, y, other.rebX, other.rebY);
   rebX=x+lengthdir_x(delta,image_angle+giro); rebY=y+lengthdir_y(delta,image_angle+giro);
   x+=other.rebX-rebX; y+=other.rebY-rebY
   }
Em termos de geometria, funcionou bem. A ré ficou meio estranha quando o ângulo entre cavalo e a carreta é muito grande (maior que uns 60°), mas acho que é porque eu não vejo muitos caminhões dando ré.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por Limalokão em Qua 28 Set 2011, 12:47

Boa vou tentar aqui! ;D

EDIT

AAAAAAAAAAAAAAAAAAA GAROTO! MUITO BOM! Ajeitei TUDO OS X E Y AKI DEU CERTINHO MAN! ;D Hmm agora vou tentar limitar a curvatura do cavalo! ;D Vlws cara ajudo pakas! Feliz Agora quero ver eu adaptar tudo isso na minha engine que ja tem o movimento de um caminhão! ;D

EDIT²ººº

Certão cara! Consegui! Ficou muito bom! Vlws! ;D

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Carreta TopDown

Mensagem por Conteúdo patrocinado Hoje à(s) 04:52


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