我正在开发一个游戏,我有一个球,我必须抛出。它必须能够与其他球碰撞(我有10个为我的演示)。目前,碰撞后,被击中的球持续移动而不停止。foreach循环无法正常工作一些gameObjects
我对这个问题的解决方案是启用isKinematic
一段时间,然后禁用它。我访问所有的球有标签的代码是这样的:
GameObject[] marbles;
marbles = GameObject.FindGameObjectsWithTag ("Exit");
foreach (GameObject x in marbles) {
x.GetComponent<Rigidbody>().isKinematic = true;
}
我的问题是,这只是部分启用的对象。它启用了一些对象并禁用了其余的GameObjects。这段代码有什么问题?
我的老板让我把脚本放在所有的球上,然后用相同的方法停止球(isKinematic
的确有一段时间),但是我认为如果我使用太多的话会降低游戏的fps每个gameObject上的一个脚本实例。哪种方法更好?
这些球是在游戏中实例化的,还是你将它们全部放在场景中? – CNuts