コード例 #1
0
    void Update()
    {
        if (buttonArea.Contains(Input.mousePosition))
        {
            return;
        }

        if (Input.GetButtonDown("Fire1"))
        {
            Vector3 reticlePosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,
                                                                                 Input.mousePosition.y, SideCamera.Instance.distance));

            float angle = Mathf.Atan2(reticlePosition.y - player.position.y, reticlePosition.x - player.position.x) * 180f / Mathf.PI;

            //Quaternion projectileAngle = Quaternion.LookRotation((player.position - reticlePosition).normalized, Vector3.forward);
            Quaternion projectileAngle = Quaternion.Euler(0f, 0f, angle);

            //Vector3 projectilePosition = player.position - new Vector3(2f * Mathf.Cos(angle), 2f * Mathf.Sin(angle), 0f);
            Vector3 projectilePosition = player.position;

            CharacterSceneManager.CreateBullet(projectile, projectilePosition, projectileAngle);
        }
    }
コード例 #2
0
 private void Shoot(Ray ray)
 {
     CharacterSceneManager.CreateBullet(projectile, ray.origin, Quaternion.FromToRotation(Vector3.right, ray.direction));
 }
コード例 #3
0
 void Awake()
 {
     Instance = this;
 }