首页 > 解决方案 > 访问有关统一游戏对象的自定义属性

问题描述

我已经搜索了至少一个小时的答案,一切都让我更加困惑。这是我正在尝试做的事情:

我有一个接受多维数据集的托盘。根据多维数据集的方向,托盘将传递六条信息之一(每边一条)。

这仅适用于将 Cube 放置在托盘中的情况。

我在托盘上运行了一个脚本,该脚本试图确定 Cube 是否放置得足够近以注册信息。

Cube 本身就有信息。如何让 Tray 告诉我 Cube 的个人信息?

我最初的想法是从 GameObject 继承 Cube。但我不能从密封类等继承。

任何见解都会很棒。谢谢。

标签: c#unity3dvariablesinheritancegameobject

解决方案


取决于你的意思

个人信息

每个都MonoBehaviour继承自Component具有某些属性的类,例如

  • gameObjectGameObject,对此组件的引用附加到。

  • transform一个对Transform组件的引用,它GameObject持有关于位置和方向的相同信息。

  • nameGameObject名字

如果您宁愿指的是脚本本身的某些值,则Cube应该实现一些 getter 属性,例如

private int someInt;
private string someString;

public int SomeInt
{
    get { return someInt; }
}

// often also written like
public string SomeString => someString;

对于您可以使用的距离,Vector3.Distance例如

if(Vector3.Distance(cubeObject.transform.position, trayObject.transform.position) <= someThresholdvalue)
{
    // ...
}

推荐阅读