我有3个游戏对象,它们上面有一个触发器对撞机,还有一个名为DetectCollision.cs的脚本,代码如下:
public void OnTriggerEnter(Collider col)
{
string Name = "";
Name = col.gameObject.name;
}
我想将与对象发生碰撞的对象的名称传递给另一个将碰撞对象的名称添加到一起的方法。 例如:占位符1与名为A的游戏对象发生碰撞,占位符2与名为b的游戏对象发生碰撞,占位符3与名为c的游戏对象发生碰撞...想要将碰撞对象的名称发送给另一种方法添加制作单词的字符串 - ABC。
任何提示都将不胜感激
答案 0 :(得分:0)
我不确定你的问题是什么意思,但我假设你想调用另一个类方法存储字符串,所以我写这个
为此,您需要使用静态实例
创建一个类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);
}
您也可以在脚本中调用上面的类并保留对它的引用,而不是为类实例使用静态变量。希望这会有所帮助。