2D 총알이 화면에 닿았을 때 반대로 튕기는 것

유니티 C# 2022. 11. 23. 10:58
private Vector2 _dir;
private GameObject _bulletObj;
private float _speed;

private void OnMove()
{
    _bulletObj.transform.Translate(_dir * (Time.deltaTime * _speed));
    var screenPoint = SystemCamera.Instance.cam.WorldToScreenPoint(_bulletObj.transform.position);
    if (screenPoint.x <= 0 || screenPoint.x >= Screen.width)
    {
        _dir = new Vector2(-_dir.x, _dir.y);
    }
    if (screenPoint.y <= 0 || screenPoint.y >= Screen.height)
    {
        _dir = new Vector2(_dir.x, -_dir.y);
    }
}