Rotação de acordo com a posição do mouse e colisões

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

Resolvido Rotação de acordo com a posição do mouse e colisões

Mensagem por valfogo em Ter 22 Jun 2010, 13:57

BOA TARDE GMBR *---*
Que saudade, estive sumido esperando minha licença chegar, mais agora estou de GMK 8 PRO originalzão *-*

Mais é de lei pedir ajuda ao povo da gmbr!

Vamos ao ponto, um exemplo breve:


Suponhamos que eu tenho essa seta: ----->
eu quero que essa seta gire, no eixo dela, apontando para o mouse, até aí acho que isso não é complicado, tenho pouca noção disso, mais ja consigo fazer, mais sempre é bem vindo um jeito novo de se fazer...

Até aí tudo bem.
Mas eu tenho a duvida que anda matando minhas produções:
Como eu faço pra seta girar, e os objetos colidirem de acordo com a posição da seta?
tipo, se a seta estiver à 45º os objetos baterem de acordo com isso, e não com a posição de colisão normal dela...

Não sei se formulei a pergunta de forma certa, mais vamos indo Razz

Abraços! Feliz Feliz

valfogo

Número de Mensagens : 44
Idade : 24
Data de inscrição : 16/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Rotação de acordo com a posição do mouse e colisões

Mensagem por Janx em Ter 22 Jun 2010, 15:24

1- Para girar ela é muito simples, na sprite modifique o ponto de apoio (origem) da imagem para onde você quer que seja o "centro", quando ela girar, essa posição ficará estatica.
Dai para ele ficar olhando sempre para o mouse:
A imagem inicial dela deve ser para a direita ou seja: ---->

Depois no step coloque o código:
image_angle = point_direction(x,y,mouse_x,mouse_y);

Pronto!
Sua flecha está olhando para o mouse!

2- Não intendi direito o problema, você quer que os objetos ganhem um movimento diferente dependendo do angulo de inclinação dela?
Por exemplo: Um objeto plano, uma bola que quicar em cima vai voltar para cima. Um objeto com inclinação de 30º vai fazer a bola pingar um pouco para o lado. É isso?
Se for é mais complicado, pois depende do ponto onde o objeto colidiu, a forma do objeto, etc. Pelomenos, se você quiser algo que pareça real.

Mas se for só para colidir com a seta de acordo com a imagem, basta você selecionar a opção no sprite: "precise collision"
Isso é a colisão por pixel.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Rotação de acordo com a posição do mouse e colisões

Mensagem por valfogo em Ter 22 Jun 2010, 15:42

(na parte 2, é exatamente isso que eu dizia (y))
Mas na precise collision, ele num vai modificar a forma que o objeto kika, com base no angulo da imagem neh ? só com base na imagem inicial?

valfogo

Número de Mensagens : 44
Idade : 24
Data de inscrição : 16/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Rotação de acordo com a posição do mouse e colisões

Mensagem por Denis Lemos em Ter 22 Jun 2010, 16:00

Para fazer os outros objetos colidirem de acordo com o angulo da seta, tipo o que o Janx falou, o objeto ir para a direção contrária com referência à seta, basta deixar o objeto que é a seta como não solido e nos outros objetos que é para colidirem com a seta ADD um evento de colisão com a seta, e ir na "aba MOVE" e arrastar o icone chamado BONCE, e deixar as configurações como abiaxo:

Aplique to: Self
Precise: Precisely
Against: All Objects

Assim os outros objetos vão rebater na seta e ir para várias direções dependendo da direção em que eles vão e da superfície da seta, tipo igual as bolinhas de bilhar !

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Rotação de acordo com a posição do mouse e colisões

Mensagem por valfogo em Ter 22 Jun 2010, 18:11

Vo fazer o teste, jaja volto com a resposta se funcionou...

EDIT:
Bom, primeiramente queria agradecer à vocês mais uma vez por me ajudarem nas 2 questões.
funcionou perfeitamente.
e só pra concluir, acho que algumas pessoas ainda vão ter essa duvida futuramente, quem sabe olhando aki ja tenham uma noção melhor:
Solido, e não solido. Ao pé da letra, sabemos o que é e tudo mais. Mas teriamos uma definição melhor de quando usar, ou não a opção solida? somente em paredes?

Abraços, e tudo de bom!

valfogo

Número de Mensagens : 44
Idade : 24
Data de inscrição : 16/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: Rotação de acordo com a posição do mouse e colisões

Mensagem por Janx em Ter 22 Jun 2010, 21:29

Bom... você pode usar "solid" para outras coisas... mas o mais comum é isso mesmo, pois existem funções que utilizam essa variavel para checar a colisão e os eventos de colisão tambem usam ela.

Mas você pode usar solid para definir um tipo de objeto qualquer, mas tome cuidado para não ter problemas de colisão pois se tiver um evento de colisão com um objeto que tem solid como true, já pode dar vários problemas...
Outro motivo de ser mais usado apenas para colisões.



Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Rotação de acordo com a posição do mouse e colisões

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


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