Как я могу заставить своего персонажа двигаться, когда слайд в Unity? - PullRequest
0 голосов
/ 13 февраля 2019

Я бы хотел, чтобы мой персонаж двигался влево или вправо при перемещении экрана или касании виртуальной кнопки в телефоне для Unity 3D, это сценарий движения игрока для его перемещения с помощью клавиш клавиатуры, ноЯ хотел бы, чтобы это было для мобильного телефона.

void FixedUpdate ()
{
    // Add a forward force
    rb.AddForce(0, 0, forwardForce * Time.deltaTime);

    if (Input.GetKey("d"))  // If the player is pressing the "d" key
    {
        // Add a force to the right
        rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
    }

    if (Input.GetKey("a"))  // If the player is pressing the "a" key
    {
        // Add a force to the left
        rb.AddForce(-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
    }

    if (rb.position.y < -1f)
    {
        FindObjectOfType<GameManager>().EndGame();
    }

}

1 Ответ

0 голосов
/ 13 февраля 2019

Самый простой способ справиться с этим будет (я думаю) что-то вроде:

float lastPosition;
void OnSwipte(float delta)
{
// code your movement here
}
void Update()
{
 if (Input.GetMouseButtonDown(0)) 
       lastPosition=Input.mousePosition.x; // store touch point
  else 
  if (Input.GetMouseButton(0)) 
    {
     OnSwipe(Input.mousePosition.x-lastPosition);
     lastPosition=Input.mousePosition.x; 
    }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...