C# 脚本需要从MonoBehavior派生,不能获取参数
我在Unity有一个项目,也是C#的新手。问题是我得到了脚本需要从MonoBehavior派生的错误。我明白这意味着什么,但当我使用MonoBehavior时,我会遇到很多这样的错误: 如果有人能解释我做错了什么,我会很高兴的-谢谢stackoverflow的好人 每个脚本都连接到BaseWindow 名称空间BlGame.View { 公共抽象类基窗口 { 保护变换mRootC# 脚本需要从MonoBehavior派生,不能获取参数,c#,unity3d,C#,Unity3d,我在Unity有一个项目,也是C#的新手。问题是我得到了脚本需要从MonoBehavior派生的错误。我明白这意味着什么,但当我使用MonoBehavior时,我会遇到很多这样的错误: 如果有人能解释我做错了什么,我会很高兴的-谢谢stackoverflow的好人 每个脚本都连接到BaseWindow 名称空间BlGame.View { 公共抽象类基窗口 { 保护变换mRoot protected EScenesType mScenesType; protected stri
protected EScenesType mScenesType;
protected string mResName;
protected bool mResident;
protected bool mVisible = false;
public abstract void Init();
public abstract void Realse();
protected abstract void InitWidget();
protected abstract void RealseWidget();
protected abstract void OnAddListener();
protected abstract void OnRemoveListener();
public abstract void OnEnable();
public abstract void OnDisable();
public virtual void Update(float deltaTime) { }
public EScenesType GetScenseType()
{
return mScenesType;
}
public bool IsVisible() { return mVisible; }
public bool IsResident() { return mResident; }
public void Show()
{
if (mRoot == null)
{
if (Create())
{
InitWidget();
}
}
if (mRoot && mRoot.gameObject.activeSelf == false)
{
mRoot.gameObject.SetActive(true);
mVisible = true;
OnEnable();
OnAddListener();
}
}
public void Hide()
{
if (mRoot && mRoot.gameObject.activeSelf == true)
{
OnRemoveListener();
OnDisable();
if (mResident)
{
mRoot.gameObject.SetActive(false);
}
else
{
RealseWidget();
Destroy();
}
}
mVisible = false;
}
//预加载
public void PreLoad()
{
if (mRoot == null)
{
if (Create())
{
InitWidget();
}
}
}
//延时删除
public void DelayDestory()
{
if (mRoot)
{
RealseWidget();
Destroy();
}
}
private bool Create()
{
if (mRoot)
{
Debug.LogError("Window Create Error Exist!");
return false;
}
if (mResName == null || mResName == "")
{
Debug.LogError("Window Create Error ResName is empty!");
return false;
}
if (GameMethod.GetUiCamera.transform== null)
{
Debug.LogError("Window Create Error GetUiCamera is empty! WindowName = " + mResName);
return false;
}
GameObject obj = LoadUiResource.LoadRes(GameMethod.GetUiCamera.transform, mResName);
if (obj == null)
{
Debug.LogError("Window Create Error LoadRes WindowName = " + mResName);
return false;
}
mRoot = obj.transform;
mRoot.gameObject.SetActive(false);
return true;
}
//销毁窗体
protected void Destroy()
{
if (mRoot)
{
LoadUiResource.DestroyLoad(mRoot.gameObject);
mRoot = null;
}
}
public Transform GetRoot()
{
return mRoot;
}
}
}
大概是这样的:
public class UIGuideWindow : BaseWindow
{
public UIGuideWindow()
{
//mScenesType = EScenesType.EST_Login;
//mResName = GameConstDefine.UIGuideRestPath;
//mResident = false;
}
Unity Update函数不能有以下任何参数:Update(float deltaTime),这是Unity非真实引擎:)
修复这个,删除浮点DeltTime,而不是使用函数实现本身的< /P>,如果你不张贴任何代码,我们将无法帮助。随意选择任何一个脚本并将其添加。添加脚本到Itf<代码> Update 不做任何事情。你也可以考虑简单地删除它,只在子CLA中实现它。在需要时使用ss