我正在尝试创建武器系统。为武器创建了一个新脚本。除子弹外,其他所有功能似乎都正常运行。当我按下启动按钮时,它停留在同一位置,完全没有移动。子弹是预制的。
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);
}
答案 0 :(得分:0)
可悲的是,我无法发表评论,因此,即使我更想澄清自己,我也必须发表答案。
关于Pistol()的执行位置,甚至在“编辑–>项目设置–>输入”中设置了“ Fire1”按钮,您还没有真正共享足够的信息,即如果这些if语句主体甚至被执行。从我收集的信息来看,虽然您的子弹正确地产生了,但根本没有动弹?...如果是这样,那么您可能只是遇到了子弹Rigidbody2D被标记为运动或静态的情况。