子弹不动

时间:2019-07-16 11:04:06

标签: c# unity3d game-development

我正在尝试创建武器系统。为武器创建了一个新脚本。除子弹外,其他所有功能似乎都正常运行。当我按下启动按钮时,它停留在同一位置,完全没有移动。子弹是预制的。

private void Fire()
{
    if (Input.GetButtonDown("Fire1"))
    {
        firingCoroutine = StartCoroutine(FireContinuously());
        myAnimator.SetBool("Shoot", true);
    }
    else if (Input.GetButtonUp("Fire1"))
    {
        StopCoroutine(firingCoroutine);
        myAnimator.SetBool("Shoot", false);
    }

}

private void Pistol()
{
    GameObject laser = Instantiate(bullet, firePoint.position, firePoint.rotation);
    laser.GetComponent<Rigidbody2D>().velocity = new Vector2(projectileSpeed * direction, 0);

}

1 个答案:

答案 0 :(得分:0)

可悲的是,我无法发表评论,因此,即使我更想澄清自己,我也必须发表答案。

关于Pistol()的执行位置,甚至在“编辑–>项目设置–>输入”中设置了“ Fire1”按钮,您还没有真正共享足够的信息,即如果这些if语句主体甚至被执行。从我收集的信息来看,虽然您的子弹正确地产生了,但根本没有动弹?...如果是这样,那么您可能只是遇到了子弹Rigidbody2D被标记为运动或静态的情况。