从脚本中查找自己的游戏对象(克隆)
Finding own gameobject (clone) from script
我正在编写一段代码,在其中实例化 x 个游戏对象(预制件)的克隆。有几辆随机产生的汽车来模拟交通,每个克隆都附有一些脚本;一个控制它的 AI,一个控制碰撞,我想要第三个在它 "out of bounds" 或离游戏太远我们看不到它时摧毁它。
问题是,我不知道如何访问脚本当前附加到的游戏对象。我设法从 OnCollisionEnter2D 中找到了与我碰撞的任何游戏对象,但我还没有找到找到 "myself" 或 "itself".
的方法
我知道我连接了一个 rigidbody2D,因为我可以在不实例化或添加任何组件的情况下控制汽车。
function FixedUpdate ()
{
// Controls the velocity of the car
rigidbody2D.angularVelocity = 0;
}
关于如何删除上述游戏对象(包括 rigidbody2D)和 stopping/deactivate 附加到它的所有脚本的任何线索?
我想我可以用 "Destroy(GameObject)" 销毁游戏对象(以及附加到它的所有东西),只是不确定如何正确设置游戏对象。
编辑:此外,了解用于该游戏对象实例的预制件的名称将非常有益(不同的预制件使用相同的脚本)。
好吧,每个脚本都有一个名为 "gameObject" 的 属性,这是脚本当前附加到的 gameObject。
所以是的,你的线索是正确的,你可以调用 Destroy (gameObject)。
如果脚本附加到对象,gameObject属性由Unity设置
[编辑]
这样做也会破坏附加到对象的所有组件(包括脚本)
我正在编写一段代码,在其中实例化 x 个游戏对象(预制件)的克隆。有几辆随机产生的汽车来模拟交通,每个克隆都附有一些脚本;一个控制它的 AI,一个控制碰撞,我想要第三个在它 "out of bounds" 或离游戏太远我们看不到它时摧毁它。
问题是,我不知道如何访问脚本当前附加到的游戏对象。我设法从 OnCollisionEnter2D 中找到了与我碰撞的任何游戏对象,但我还没有找到找到 "myself" 或 "itself".
的方法我知道我连接了一个 rigidbody2D,因为我可以在不实例化或添加任何组件的情况下控制汽车。
function FixedUpdate ()
{
// Controls the velocity of the car
rigidbody2D.angularVelocity = 0;
}
关于如何删除上述游戏对象(包括 rigidbody2D)和 stopping/deactivate 附加到它的所有脚本的任何线索?
我想我可以用 "Destroy(GameObject)" 销毁游戏对象(以及附加到它的所有东西),只是不确定如何正确设置游戏对象。
编辑:此外,了解用于该游戏对象实例的预制件的名称将非常有益(不同的预制件使用相同的脚本)。
好吧,每个脚本都有一个名为 "gameObject" 的 属性,这是脚本当前附加到的 gameObject。 所以是的,你的线索是正确的,你可以调用 Destroy (gameObject)。 如果脚本附加到对象,gameObject属性由Unity设置
[编辑] 这样做也会破坏附加到对象的所有组件(包括脚本)