Unity Player的射击功能将不起作用

时间:2019-02-08 22:03:55

标签: c# visual-studio unity3d

我正在Unity中创建游戏。到目前为止,我已经能够使我的播放器以某种正确的角度跟随鼠标。我还尝试为从正确角度(从玩家的顶部直射时朝向鼠标)射击的角色实现射击功能。当我单击使用此代码时,什么也没有发生。我为玩家,子弹和射击要点设置了对象。

public void Update()
    {
        if (FollowMouse || Input.GetMouseButton(0))
        {
            _target = Camera.ScreenToWorldPoint(Input.mousePosition);
            _target.z = 0;
        }

        var delta = ShipSpeed * Time.deltaTime;
        var bulletDelta = shootSpeed * Time.deltaTime;

        bulletDelta *= Vector3.Distance(transform.position, _target);

        if (ShipAccelerates)
        {
            delta *= Vector3.Distance(transform.position, _target);
        }

        angle = Mathf.Atan2(_target.y, _target.x) * Mathf.Rad2Deg;
        transform.position = Vector3.MoveTowards(transform.position, _target, delta);
        transform.rotation = Quaternion.Euler(0, 0, angle);

        if (Input.GetMouseButtonDown(0) && Time.time > nextFire && numOfBullets > 0)
        {
            nextFire = Time.time + fireRate;
            Instantiate(bullet, firePoint.position, firePoint.rotation);
            numOfBullets--;
            bullet.transform.position = Vector3.MoveTowards(bullet.transform.position, _target, bulletDelta);

        }


    }

0 个答案:

没有答案