【问题标题】:Getting Information from a Collider to another method从 Collider 获取信息到另一种方法
【发布时间】:2015-06-01 16:01:27
【问题描述】:

我有 3 个游戏对象,上面有一个触发碰撞器,还有一个名为 DetectCollision.cs 的脚本,代码如下:

public void OnTriggerEnter(Collider col)
    {
        string Name = "";
        Name = col.gameObject.name;

    }

我想将与对象碰撞的对象的名称传递给另一个方法,该方法将把碰撞对象的名称加在一起。 例如:占位符 1 与名为 A 的游戏对象发生冲突,占位符 2 与名为 b 的游戏对象发生冲突,占位符 3 与名为 c 的游戏对象发生冲突 ...想将碰撞对象的名称发送到另一个方法以添加组成单词的字符串 - ABC。

任何提示将不胜感激

【问题讨论】:

    标签: unity3d collision


    【解决方案1】:

    我不确定你的问题是什么意思,但我假设你想调用另一个类方法来存储字符串所以我写这个

    为此,您需要使用静态实例创建一个类

    public class ClassToStoreInfo : MonoBehaviour {
        public static ClassToStoreInfo thisInstance;
        private string CollisionLine = "";
        void Start() {
            thisInstance = this;
        }
    
        public void AddStringAfterCollision(string value) {
            CollisionLine += value;
        }
    }
    

    然后在您的对撞机函数中调用该类静态变量

    public void OnTriggerEnter(Collider col) {
        string Name = "";
        Name = col.gameObject.name;
        ClassToStoreInfo.thisInstance.AddStringAfterCollision(Name);
    }
    

    您也可以在您的脚本中调用上述类并保留它的引用,而不是为类实例使用静态变量。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      相关资源
      最近更新 更多