首页 > 解决方案 > 在统一 C# 中射击一次火球

问题描述

我制作了一个用大炮发射火球的脚本,但是一旦点击大炮就会射出 3 或 4 个球!你知道如何每 1 次点击射 1 个球吗?

这是我的脚本:

public class CannonScript : MonoBehaviour {

    public GameObject CannonBall;
    public float FirePower;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void FixedUpdate () {
        if(Input.GetMouseButtonDown(0)) {
            Instantiate(CannonBall, transform.position, transform.rotation);
            CannonBall.GetComponent<Rigidbody>().AddForce(0, 0, FirePower);
        }
    }

标签: c#unity3d

解决方案


您应该Update()为此使用,而不是FixedUpdate(). 事实上,FixedUpdate()应该严格用于物理计算,特别是在使用刚体时。


推荐阅读