Movimento fracionado circular

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

Resolvido Movimento fracionado circular

Mensagem por Neofix em Ter 10 Abr 2012, 23:41

Bom, eu preciso desenvolver um movimento que seja a fracao de um circulo (imaginem um pedaco de pizza), o objeto ira percorrer essas laterais.
Eu consegui fazer o movimento correto, mas eu preciso que ele seja valido para qualquer angulo, e nao estou conseguindo fazer de jeito nenhum!
Estou mandando o exemplo para vcs verem...


PS: No exemplo, o angulo é de 0 graus, o objeto pode mover 45 graus para direita e para esquerda.

http://denisedenise.com.br/x/ANGULO.gmx.rar

Poxa pessoal qualquer ajuda eh valida! Muito obrigado!

EDIT: Tópico resolvido by KLIOR
http://dl.dropbox.com/u/34803365/engines/Mira%20dentro%20de%20angulo%20escolhido.gmk


Última edição por Neofix em Qui 12 Abr 2012, 08:40, editado 2 vez(es)

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Movimento fracionado circular

Mensagem por PedroX em Ter 10 Abr 2012, 23:46

Código:
x = X_CENTRO + RAIO * cos(degtorad(ANGULO))
y = Y_CENTRO + RAIO * sin(degtorad(ANGULO))

Troque os valores em maiúsculo.
Conforme mudar o ângulo e deixar o resto constante, você verá ele mudar de posição.

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: Movimento fracionado circular

Mensagem por Neofix em Ter 10 Abr 2012, 23:56

Desculpe, nao entendi ou nao consegui fazer... Troquei a parte de que disse e nao deu certo...

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Movimento fracionado circular

Mensagem por PedroX em Qua 11 Abr 2012, 00:01

Vejo que é um arquivo gmx, do qual não consigo abrir.
Mas basta você alterar o ângulo que ele se adaptará a esse movimento.

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: Movimento fracionado circular

Mensagem por Neofix em Qua 11 Abr 2012, 01:38

Eu hospedei uma nova versao do arquivo compativel com o GM8.1.
Obrigado por ajudar!

http://denisedenise.com.br/x/ANGULO_GM81.rar


Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Movimento fracionado circular

Mensagem por saim em Qua 11 Abr 2012, 08:55

Eu consegui ver a imagem (o que não é normal) mas não tenho como baixar o arquivo. Deixa eu ver se entendi o movimento: você quer que ele percorra o perímetro do círculo e depois vá até o centro e volte para o perímetro?

A solução do Pedrø resolve o caso do perímetro: você define o ângulo no step e, logo em seguida a posição do objeto em função desse ângulo.

Pra ir e voltar ao centro, o movimento é bem mais complexo, sugiro usar paths. Crie um path definindo os pontos que você quer estar e mande o objeto percorrer esse path.

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: Movimento fracionado circular

Mensagem por Neofix em Qua 11 Abr 2012, 09:19

Na verdade estes sao os LIMITES de uma area em que o jogador pode atirar.
Dependendo da arma escolhida, ele vai ter uma abertura (angulo) especifico parar atirar. O jogador controla uma mira que fica restrita (confinada) dentro desta area.
Path nao funcionaria neste caso. Pois eu quero uma movimentacao livre da mira neste espaço confinado. Valew

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Movimento fracionado circular

Mensagem por Klior em Qua 11 Abr 2012, 11:50

Sobre a questão do movimento que você estava tentando fazer, a patir do código que o Pedro postou consegui fazer o objeto se movimentar em qualquer angulo, aqui está, feito em gm8:
http://dl.dropbox.com/u/34803365/engines/Movimento%20contorno%20peda%C3%A7o%20de%20pizza.gmk

Mais percebo que você quer controlar a mira dentro desse campo que o objeto percorre, nesse caso, caso você esteja usando o mouse para controlar a mira, você precisa usar point_direction da posição do jogador até a posição do mouse........... vou fazer outra engine:
http://dl.dropbox.com/u/34803365/engines/Mira%20dentro%20de%20angulo%20escolhido.gmk
Veja se é isso que você queria.

Klior

Número de Mensagens : 426
Idade : 25
Data de inscrição : 07/03/2010
Reputação : 13
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: Movimento fracionado circular

Mensagem por saim em Qua 11 Abr 2012, 12:07

Como você quer que o objeto se movimente? Dá pra restringir quanto à posição seguinte ou criar um objeto com sprite oco, com cavidade no formato desejado, e estabelecer relações de colisão. Dá pra fazer de algumas formas diferentes, mas saber como seria o movimento ajuda a escolher.
Edit: Foi mal, Klior, só agora vi a segunda parte da sua resposta. Eu também desconfio que seja mira em função do mouse.

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: Movimento fracionado circular

Mensagem por PedroX em Qua 11 Abr 2012, 14:10

Você quer que a mira só se afaste um tanto.

Basta usar point_distance.

Adicione ao STEP da mira:

Código:
dist = point_distance(player.x, player.y, x, y)
dir = point_direction(player.x, player.y, x, y)

if dist > VALOR_QUE_QUER
{
x = player.x + VALOR_QUE_QUER * cos(degtorad(dir))
y = player.y + VALOR_QUE_QUER * sin(degtorad(dir))
}

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: Movimento fracionado circular

Mensagem por Neofix em Qui 12 Abr 2012, 08:39

O exemplo "Mira dentro de angulo escolhido.gmk" é exatamente o que eu precisava. Obrigado Klior!
Obrigado pela ajuda de todos (Pedrø, Saim) Smile , em breve irei postar imagens do meu jogo aqui. Smile
Tópico resolvido!

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Movimento fracionado circular

Mensagem por Conteúdo patrocinado Hoje à(s) 08:32


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