当我的玩家位置x和y与gameObject(克隆)位置x和y相同时,我想破坏gameObject(克隆)。当我触发其他东西并且它有刚体和盒子对撞机时,gameObject出现在我的场景中。
我将此代码用于我的播放器,但它无法正常工作
function Update () {
if(this.transform.position.x==rigidbody.transform.position.x){
if(this.transform.position.y==rigidbody.transform.position.y){
Destroy(rigidbody.gameObject);
}
}
}
我使用了代码并且喜欢它,但它也没有用,因为它没有找到变量"其他"
function Update () {
var other:Collider;
if(this.transform.position.x==other.transform.position.x){
if(this.transform.position.y==other.transform.position.y){
Destroy(other.gameObject);
}
}
}
你能帮我吗?
答案 0 :(得分:0)
如果你知道什么产生你的克隆,你可以用不同的名称产生它们,如“gameObject(clone)2”,然后调用Destroy()。
Destroy(gameObject.Find("gameObject(clone) 2"));
一般情况下,只要你能从另一个中识别出一个对象,这应该不是问题。
如果您引用了该对象,则不会删除它,那么您可以执行.Equals以避免删除它。
// C#
foreach(GameObject go in clones) {
if(!go.Equals(playerObject) {
Destroy(go);
}
}
我赞成最初的方法。您应该为场景中的任何对象提供引用或缩进,以便您可以管理它们。