【问题标题】:how to detect which object is running a script如何检测哪个对象正在运行脚本
【发布时间】:2019-04-01 10:24:57
【问题描述】:

您好,我有一个脚本,它将在所有对象上运行,因此当您将鼠标悬停在它上时会显示其名称,但要做到这一点,不同的对象具有不同的名称,那么我将如何在代码中检测哪个游戏对象正在运行脚本当鼠标与对象上的对撞机碰撞时,它会运行某些部分,因此我需要知道该对象的名称是什么。谢谢

【问题讨论】:

  • 在脚本中,你只需执行类似“gameObject.name”之类的操作,这将为你提供运行脚本的对象的名称

标签: c# unity3d


【解决方案1】:

运行脚本的对象是脚本所附加的对象:this.gameObject

正如 Lestat 的评论所说,“使用 gameObject.name 之类的东西”,但我会指出这是分配给游戏对象的名称,并且生成的项目(使用 Instantiate 命令创建的任何东西)将具有“ (克隆)”附加到其预制件的名称之后。这可能并不理想。

但是,如果您将另一个脚本附加到每个具有存储对象名称的公共字符串字段的游戏对象上,您可以改用 gameObject.GetComponent<ThatNameScript>().name,其中 ThatNameScript 是您使用的任何脚本的名称存储对象的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    相关资源
    最近更新 更多