Игрок делает небольшие движения вперед, когда он стреляет - PullRequest
0 голосов
/ 10 мая 2019

Когда я стреляю, мой игрок делает маленькие шаги вперед, я хочу, чтобы он остановился, когда он стреляет.

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

void Move(float movement) {
        if (!this.anim.GetCurrentAnimatorStateInfo(0).IsTag("shoot")) {
            MyRigidBody.velocity = new Vector2(movement * playerSpeed, MyRigidBody.velocity.y);
        } else if(anim.GetCurrentAnimatorStateInfo(0).IsTag("shoot"))
        {
            MyRigidBody.velocity = new Vector2(0, 0);
        }
    }

1 Ответ

0 голосов
/ 10 мая 2019

Вы можете решить это, используя bool.

Public bool isShooting;

Установите значение true, когда вы снимаете, и false, если вы не снимаете.Вы можете использовать OnPointerUp / OnPointerDown для отслеживания события.

Новый метод перемещения:

void Move(float movement) {
if(!isShooting)
    if (!this.anim.GetCurrentAnimatorStateInfo(0).IsTag("shoot")) {
        MyRigidBody.velocity = new Vector2(movement * playerSpeed, MyRigidBody.velocity.y);
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...