将Unity 5.4 beta与Hololens配合使用,在命名空间内设置类会禁用某些UnityEngine功能。
如果我宣布一个班级,一切正常。如果我将它包装在命名空间中,则类不会相互看到,即使在相同的命名空间内或使用using也是如此。
制作MonoBehaviour类,我可以将它拖放到游戏对象上,如果我将该类包装在命名空间内,Unity会抱怨它不是MB或它有问题所以它不能被拖动。
有没有人有类似的问题?在报告自5.4之后的错误之前,只需询问即可。但
答案 0 :(得分:1)
Classes
没有看到对方,因为您没有导入或通过namespace
访问它们。要访问命名空间中的任何内容,您必须import
namespace
或调用namespace
后跟class
名称。请查看以下两个示例。
带命名空间的类:
namespace MyANameSpace
{
public class A
{
}
}
要查看class A
,您必须使用using
关键字将其导入。
using MyANameSpace;
public class B : MonoBehaviour
{
A a;
// Use this for initialization
void Start()
{
a = new A();
}
}
另一种方法是直接通过namespace
。
public class B : MonoBehaviour
{
MyANameSpace.A a;
// Use this for initialization
void Start()
{
a = new MyANameSpace.A();
}
}
如果这不能解决您的问题,那么您必须发布您的代码。这可能不是一个错误。
答案 1 :(得分:0)
我设法弄清楚我认为发生了什么。这就是我所拥有的:
computeSymbolSizes()
似乎Unity不喜欢类声明的顺序。将EventArg推送到脚本的末尾,它就可以了。
不确定这是否应该被视为错误,我从未见过提及类声明顺序。尽管如此,在顶部声明一个接口是很好的。