Как настроить пистолет в 2D игре так, чтобы он всегда был направлен на персонажа, а не оставался в стиле TopDown?

Как мне связать трансформацию персонажа и пистолета в игре типа Pixel Survival World так, чтобы при повороте персонажа трансформация также поворачивалась вместе с пистолетом, находящимся в его руке?
  • 8 июня 2024 г. 10:41
Ответы на вопрос 1
Для того чтобы пистолет всегда был направлен на персонажа в 2D игре, вам нужно будет настроить скрипт для пистолета, который будет следить за позицией персонажа и всегда оставаться направленным на него. 

Вот пример кода на C# для Unity, который позволит вам связать трансформацию персонажа и пистолета:

```c#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GunController : MonoBehaviour
{
    public Transform player; // ссылка на трансформацию персонажа

    void Update()
    {
        // Поворачиваем пистолет так, чтобы он всегда смотрел на персонажа
        Vector2 direction = player.position - transform.position;
        float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
        transform.rotation = Quaternion.Euler(0f, 0f, angle);
    }
}
```

Вы также должны установить ссылку на трансформацию персонажа в инспекторе Unity для скрипта GunController, чтобы он мог следить за его позицией.

Теперь, когда персонаж поворачивается, пистолет также будет поворачиваться вместе с ним, сохраняя направление на персонажа.

Не забудьте добавить этот скрипт к объекту пистолета в вашей игре. Надеюсь, это поможет вам достичь желаемого эффекта!
Похожие вопросы