【问题标题】:Unity3d Use top level variable in classUnity3d在类中使用顶级变量
【发布时间】:2014-03-13 03:40:18
【问题描述】:

在类中使用我在类外声明的变量时遇到问题。如果我尝试这个,Unity 的行为就像变量不存在一样。

#pragma strict
var chunkWidth=49;
class Chunk{
    var width:short;
    var position:Vector3;
    function Chunk(pos:Vector3){
        this.width=chunkWidth; //this gives the error: Unknown identifier: 'chunkWidth'.
        this.position=pos;
    }
}

当我想在类中使用函数时也会发生此错误。

【问题讨论】:

  • 你想用这个作为常量吗?或者为什么它被放在一个类之外?
  • 我在课堂外使用它,所以我可以在 Unity 中滑动宽度。

标签: function class unity3d unityscript


【解决方案1】:

如果变量公开,您可以在检查器视图中更改变量。将变量放入类中并使其成为公共变量。然后转到 Unity 并单击附加了此组件的对象。然后,您可以在点击播放之前更改变量。该变量将统一保存,但不会保存在您的代码中。因此,如果您将此代码与另一个对象一起使用,则需要在检查器中再次设置该变量。但是一旦设置 Unity 将在您的项目中保存该值。

【讨论】:

  • 谢谢!我还必须使该类扩展 MonoBehaviour,并且由于某种原因,位置也显示了,但宽度没有。现在我将它们设为私有,但我想知道为什么会显示位置但不会显示宽度。我知道当变量没有被设为私有时,它们通常会显示在检查器中,但是这个不是......
  • 如果您在统一窗口中而不是自己创建新脚本。它应该自动将单声道开发的东西放在那里。检查器中仅显示公共全局变量。
猜你喜欢
  • 1970-01-01
  • 2014-11-22
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多