Unity Android Drag Aim Release - PullRequest
       12

Unity Android Drag Aim Release

0 голосов
/ 11 октября 2018

Мне нужна помощь с (что я считаю простым, но я не знаю) чем-то (для Android): у меня есть 2D шар, который находится на простом квадратном столе (вы видите его сверху, поэтому я немне нужна сила тяжести), я хочу вытащить его из этого шара и отпустить, а при отпускании мяч движется в этом направлении или в противоположном направлении, если вы тянете «за» мячом.Просто приложите палец к мячу, затем перетащите и отпустите.Я искал в течение 2 дней на форумах и YouTube и везде, но я не мог найти то, что мне нужно.Я нашел что-то, но это действительно устарело и не помогает мне.Спасибо за помощь!И я прошу прощения за то, что вы нашли время, если уже есть что-то, что я не нашел!

1 Ответ

0 голосов
/ 11 октября 2018

Это предполагает, что у вас есть Rigidbody2D и коллайдер, прикрепленный к вашему мячу, и вы запустите шар в направлении, противоположном перетаскиванию.

Rigidbody2D rbody;
Vector2 startpos;
Vector2 endpos;
float power = 5f; // power of shot

void Start()
{
    rbody = GetComponent<Rigidbody2D>();
}

void Update()
{
    if (Input.GetMouseButtonUp(0))
    {
        endpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        LaunchBall();
    }
}

void OnMouseDown()
{
    startpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}

void LaunchBall()
{
    Vector2 direction = (startpos - endpos).normalized; // swap subtraction to switch direction of launch
    rbody.AddForce(direction * power, ForceMode2D.Impulse);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...