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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 19/01/2009
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Movimento fracionado circular

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

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

Re: Movimento fracionado circular

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!
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 19/01/2009
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Re: Movimento fracionado circular

em Ter 10 Abr 2012, 23:56
Desculpe, nao entendi ou nao consegui fazer... Troquei a parte de que disse e nao deu certo...
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

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

Re: Movimento fracionado circular

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.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 19/01/2009
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Re: Movimento fracionado circular

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

avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

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

Re: Movimento fracionado circular

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.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 19/01/2009
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Re: Movimento fracionado circular

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
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 426
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

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

Re: Movimento fracionado circular

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

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

Re: Movimento fracionado circular

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

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

Re: Movimento fracionado circular

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))
}
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 19/01/2009
Número de Mensagens : 98
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Re: Movimento fracionado circular

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!
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