2015-07-10 117 views
0

这个问题可能比C#更具体。尝试将当前GameObject的引用传递给父类。C#Unity>在父类中访问GameObject

收到以下错误

Internal_CreateGameObject只能从主线程中调用。

这是我的子类

public override void Start() 
    { 
     init("green", gameObject); 
    } 

    public override void init(string classRef, GameObject go) 
    { 
     base.init(classRef, go); 
     Debug.Log("init " + classRef); 
    } 

在我父类

virtual public void init(string classRef, GameObject go) 
    { 
     _wallRef = classRef; 

     _go = go; 
    } 

这有什么错我的逻辑相关的代码?是否有必要将当前gameObject的引用传递给继承于Unity(Monobehaviour)的父类?

+1

您确定“只能从主线程调用”。与你的问题没有关系?你在帖子中没有显示与线程相关的任何内容...... –

回答

0

我看不到完整的代码,但是您的父类是从主类继承的吗?

+0

在C#Unity中,你通常从MonoBehaviour继承,尽管你可以创建与编辑器完全分离的独立类。 –

+0

呃,你有子类,你有父类 子类必须从父类继承,对吗? – Jakub

+0

我的问题与继承无关,而是无法从Timer处理程序访问主线程。我张贴另一个问题。 –