У меня есть спрайт в 2D -мобильной игре в Unity, и я пытаюсь коснуться и перетаскивать этот спрайт пальцем, чтобы спрайт должен двигаться именно там, где палец касается экрана. Но проблема в том, что спрайт всегда отстает от того, где палец находится на экране, когда я перемещаю пальцем с очень быстрыми скоростями, спрайт задерживается. Спрайт должен быть очень непосредственно в своем движении и присутствовать на экране на экране, где бы ни касался палец (спрайт будет перетаскиваться при прикосновении пальца) всегда, это очень важно для игры. Я пробовал ниже код: < /p>
void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
touchPosition.z = 0f;
if (touch.phase == TouchPhase.Began)
{
touchOffset = transform.position - touchPosition;
}
transform.position = touchPosition + touchOffset;
}
}
< /code>
С этим спрайт имеет задержку с очень быстрыми скоростями пальца и перетаскивано. Скорость очень важна для игры, а спрайт всегда должен присутствовать, где палец касается на экране.
Подробнее здесь: https://stackoverflow.com/questions/794 ... obile-game
Unity 2D Sprite не движется точно так же вместе с пальцами в мобильной игре ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение