Gravidade, movimentação e image_angle

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

Resolvido Gravidade, movimentação e image_angle

Mensagem por irlansn em Qua 22 Fev 2012, 17:53

oi galera, basicamente o que quero fazer e um método de movimentação similar a esse, feito pela yoyogames:
http://html5.yoyogames.com/tntbf_lite/index.html

A gravidade consegui assim:
Código:
gravity_direction=point_direction(x, y, obj_centro_de_gravidade.x, obj_centro_de_gravidade.y)
gravity=1
E o image_angle:
Código:
image_angle=point_direction(x, y, obj_centro_de_gravidade.x, obj_centro_de_gravidade.y)+90

Mas não consigo fazer a movimentação! Já tentei de todos os jeitos, por favo, me ajudem!
GMK:http://www.4shared.com/file/ojaPo1Uc/teste_gravidade.html

Agradeço desde já
flw


Última edição por irlansn em Qua 22 Fev 2012, 23:10, editado 2 vez(es)

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
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: Gravidade, movimentação e image_angle

Mensagem por luiz_eldorado em Qua 22 Fev 2012, 18:22

Voce quer que ele se mova "rodando", entendi. Voce tem que fazer algo assim:
Código:
if keyboard_check(vk_left) {
x+=lengthdir_x(velocidade,image_angle+angulo) //angulo é a direcao: 0=direita, 90=cima... No caso seria 180
//mesma coisa com o y
Só dei a ideia, nao tenho a ideia de um code concreto.
Até mais!

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: Gravidade, movimentação e image_angle

Mensagem por PedroX em Qua 22 Fev 2012, 18:37

Basicamente, você precisa colocar a direção da gravidade para o objeto mais próximo.

Depois, ao pular, você precisa ver o ângulo.

Pela lógica seria assim:

Angulo 0º: pular em 180º
Angulo 90º: pular em 270º
Angulo 180º: pular em 0º
Angulo 270º: pular em 90º (seria o normal dos jogos)

Percebeu algum padrão?

Ele deve pular num ângulo 180º maior/menor (tanto faz).

Então, ao pular:

vspeed = sin(degtorad(direcao_gravidade+180))*vel_pulo;
hspeed = cos(degtorad(direcao_gravidade+180))*vel_pulo;

A gravidade fará voltar ao normal, então não precisa fazer ele 'cair'.

Agora, precisamos movimentar.

Se eu apertar esquerda:

direction = direcao_gravidade-90;
x-=cos(degtorad(direction))*vel;
y+=sin(degtorad(direction))*vel;

Se eu apertar direita:
direction = direcao_gravidade+90; //imagine ou desenhe para entender
x+=cos(degtorad(direction))*vel;
y+=sin(degtorad(direction))*vel;

Acho que está concluido.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Gravidade, movimentação e image_angle

Mensagem por irlansn em Qua 22 Fev 2012, 19:00

luiz_eldorado escreveu:Voce quer que ele se mova "rodando", entendi. Voce tem que fazer algo assim:
Código:
if keyboard_check(vk_left) {
x+=lengthdir_x(velocidade,image_angle+angulo) //angulo é a direcao: 0=direita, 90=cima... No caso seria 180
//mesma coisa com o y
Só dei a ideia, nao tenho a ideia de um code concreto.
Até mais!

Não, não é andar girando, é andar em um objeto que é o centro da gravidade.

Pedrø escreveu:Basicamente, você precisa colocar a direção da gravidade para o objeto mais próximo.

Depois, ao pular, você precisa ver o ângulo.

Pela lógica seria assim:

Angulo 0º: pular em 180º
Angulo 90º: pular em 270º
Angulo 180º: pular em 0º
Angulo 270º: pular em 90º (seria o normal dos jogos)

Percebeu algum padrão?

Ele deve pular num ângulo 180º maior/menor (tanto faz).

Então, ao pular:

vspeed = sin(degtorad(direcao_gravidade+180))*vel_pulo;
hspeed = cos(degtorad(direcao_gravidade+180))*vel_pulo;

A gravidade fará voltar ao normal, então não precisa fazer ele 'cair'.

Agora, precisamos movimentar.

Se eu apertar esquerda:

direction = direcao_gravidade-90;
x-=cos(degtorad(direction))*vel;
y+=sin(degtorad(direction))*vel;

Se eu apertar direita:
direction = direcao_gravidade+90; //imagine ou desenhe para entender
x+=cos(degtorad(direction))*vel;
y+=sin(degtorad(direction))*vel;

Acho que está concluido.

Até mais!
Não deu certo, quando ele anda, ele pula também. E não conheço os códigos cos, sin e degtorad então não pude entender o que esta errado confused

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
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: Gravidade, movimentação e image_angle

Mensagem por luiz_eldorado em Qua 22 Fev 2012, 19:10

@ irlansn
irlansn escreveu:Não não é adar girando, é andar em um objeto que é o centro da gravidade.
É isso mesmo que eu quis dizer. É a mesma coisa que andar na Terra - voce nao vai cair ao ir ao outro lado da terra. Voce testou o codigo? O que deu de errado?
@ Pedr\o\
Acho que as funcoes sin e cos fazem o mesmo que lengthdir. xD
Cara esvazie sua caixa de entrada, acho que esta cheia. E nao excluiram minha barra de warning. E porque a minha barra de alerta ta diferente da de warning? E...

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: Gravidade, movimentação e image_angle

Mensagem por irlansn em Qua 22 Fev 2012, 21:52

luiz_eldorado escreveu:@ irlansn
irlansn escreveu:Não não é adar girando, é andar em um objeto que é o centro da gravidade.
É isso mesmo que eu quis dizer. É a mesma coisa que andar na Terra - voce nao vai cair ao ir ao outro lado da terra. Voce testou o codigo? O que deu de errado?

testei, ele nen se meche nervoso


vou mandar o .gmk, espera ai que edito...

EDITE:


http://www.4shared.com/file/ojaPo1Uc/teste_gravidade.html

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
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: Gravidade, movimentação e image_angle

Mensagem por William Lima em Qua 22 Fev 2012, 22:42

Aqui, achei uma engine na YOYO games.

http://sandbox.yoyogames.com/games/142398-360%C2%B0-gravity-engine

Acho que você queria se basear no jogo "MARU" ou "They need to be fed", o criador desses games que criou esta engine!

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: Gravidade, movimentação e image_angle

Mensagem por irlansn em Qua 22 Fev 2012, 23:10

williammustaffa escreveu:Aqui, achei uma engine na YOYO games.

http://sandbox.yoyogames.com/games/142398-360%C2%B0-gravity-engine

Acho que você queria se basear no jogo "MARU" ou "They need to be fed", o criador desses games que criou esta engine!

Obrigado!!! Happy


ps: podem trancar o tópico...

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
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: Gravidade, movimentação e image_angle

Mensagem por Conteúdo patrocinado Hoje à(s) 01:48


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