Conectar-se
Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Número de Mensagens : 482
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Gravidade, movimentação e image_angle

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)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: Gravidade, movimentação e image_angle

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!
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Gravidade, movimentação e image_angle

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!
avatar
Ranking : Nota C
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Número de Mensagens : 482
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Gravidade, movimentação e image_angle

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
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: Gravidade, movimentação e image_angle

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...
avatar
Ranking : Nota C
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Número de Mensagens : 482
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Gravidade, movimentação e image_angle

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:


4shared.com/file/ojaPo1Uc/teste_gravidade.html
avatar
Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 2
   : 0
Ver perfil do usuáriohttp://williammustaffa.blogspot.com

Re: Gravidade, movimentação e image_angle

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!
avatar
Ranking : Nota C
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Número de Mensagens : 482
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Gravidade, movimentação e image_angle

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...
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum