繁体   English   中英

Unity3D canvas SetActive无法在WebPlayer上运行

[英]Unity3D canvas SetActive not working on WebPlayer

我在Unity中遇到了WebPlayer的问题。

我的游戏在我的代码开头使用SetActive停用了一些画布。 在编辑器或桌面版本中,这些画布已正确停用。

但是当我构建一个webplayer版本时,它们却不是。 全部显示。 我更新了一切但没有变化。

这是我的代码:

void Start ()
{
    base.Start();

    MusicLoopsManager.manager.PlayMusic(MusicType.menuMusic);

    mode = GameObject.Find("Mode") as GameObject;
    modeState = ModeState.play;
    pause = GameObject.Find("Pause") as GameObject;
    resume = GameObject.Find("Resume") as GameObject;
    retry = GameObject.Find("Retry") as GameObject;
    exit = GameObject.Find("Exit") as GameObject;

    titleCanvas = GameObject.Find("TitleCanvas") as GameObject;
    levelSelectionCanvas = GameObject.Find("LevelSelectionCanvas") as GameObject;
    hudCanvas = GameObject.Find("HUDCanvas") as GameObject;
    pauseCanvas = GameObject.Find("PauseCanvas") as GameObject;
    victoryCanvas = GameObject.Find("VictoryCanvas") as GameObject;

    levelSelectionCanvas.gameObject.SetActive(false);
    hudCanvas.gameObject.SetActive(false);
    pauseCanvas.gameObject.SetActive(false);
    victoryCanvas.gameObject.SetActive(false);
}

请注意,除了其他任何东西,你不能在Unity中使用base.Start()

“开始”只是不起作用 - 它是一个神奇的功能,它几乎就像一些预处理器语法糖果。

你可以谷歌很多关于这个问题

所以在第一种情况下,不要这样做或尝试这样做。

如果您使用的是派生类,请不要尝试在“开始”中执行任何操作。 拥有自己的功能 - 比如“开始”或“设置” - 并完全使用它。 只需从Unity的魔术Start调用它,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM