Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

AddForce no Unity - Projeto 2D

Após realizar o curso aqui de Unity, estou tentando colocar meus conhecimentos em prática e adquirir novos conhecimentos. O jogo que estou tentando fazer é simples porém não sei como implementá-lo, se trata de um jogo de "embaixadinha", o usuário precisa clicar na bolinha da tela pra não deixar cair, se ela cair ele perde. Estou usando o código

void OnMouseDown(){

Get .AddForce(new Vector 2(10 * Random.Range(-10,10)), 200) }

no script, que faz com que o eixo X seja um número aleatório , mas queria fazer algo diferente, deixar com que ao clicar, por exemplo, na parte direita da bola, ela tenha um impulso pra cima e esquerda, se for na parte esquerda, um impulso pra cima e direita. Há alguma forma de tornar isso possível apenas em código/no inspector ou preciso particionar o meu objeto e alguns colliders pra tornar possível?

2 respostas
solução!

Olá Patrick!

Uma forma de você resolver isso é utilizar a posição do clique em relação a posição da bolinha no momento do clique.

Supondo que pos_clique seja o vetor que aponta para a posição do clique e que pos_bolinha seja o vetor que aponta para o centro da bolinha. Se você fizer pos_bolinha - pos_clique, você terá um vetor que aponta na direção oposta ao clique realizado na bolinha que é justamente a direção da força que você deve aplicar na bolinha.

Dessa forma, você não precisa se preocupar em quebrar a bolinha em várias partes e também não precisa criar mais colliders.

Você é um gênio cara. Hahaha Fui testando e testando e deu certíssimo. :D

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software