c# - 在统一 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);
}
}
解决方案
您应该Update()
为此使用,而不是FixedUpdate()
. 事实上,FixedUpdate()应该严格用于物理计算,特别是在使用刚体时。
推荐阅读
- windows - UnicodeDecodeError:“charmap”编解码器无法解码位置 8024 中的字节 0x9d:字符映射到
将输出重定向到磁盘时 - sql-server - 使用 powershell 将 SQL 脚本的返回导出到 Excel 文档
- javascript - ie11 中的权限被拒绝,试图访问另一个框架中的选择选项
- python - 根据值将一行复制到多行
- rest - 关于在 REST 中使用 Flatbuffer 的意见
- c# - 处理古怪的 API JSON 响应体 --- 单例与数组
- kubernetes - OpenShift Ingress 外部服务
- python - 从 numpy 的网格中获取特定索引
- message - ROS 无法发布到不同的消息类型
- swift - 为每个数据源保留(和加载)表格视图滚动位置