游戏脚本或其他自定义代码包含 OnMouse_ 事件处理程序

use*_*657 2 c# performance android unity-game-engine

我只需要一点帮助。当我为 android 构建我的游戏时,我不断收到这个警告。

游戏脚本或其他自定义代码包含 OnMouse_ 事件处理程序。此类处理程序的存在可能会影响手持设备的性能。UnityEditor.HostView:OnGUI()

你知道如何摆脱这个吗?

我唯一拥有鼠标事件的控制器。

public class ButtonOnClickController : MonoBehaviour 
{ 
    void OnMouseUp()
    {     
        Application.Quit(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

Fun*_*onR 5

虽然这只是一个警告,但我不会忽视它。这可能会对您的游戏产生意想不到的影响。

在您倾向于在编辑器中测试的 Android 版本上获得此功能是很常见的。您可以通过添加以下内容来简单地修复它:

#if UNITY_EDITOR

   void OnMouseUp() 
   {
   }

#endif
Run Code Online (Sandbox Code Playgroud)

然后为 Android 添加不同的代码块。

#if UNITY_ANDROID

   // Handle screen touches here.      

#endif
Run Code Online (Sandbox Code Playgroud)

您在这里所做的是将编辑器代码与 Android 代码分开。换句话说,您不会真的希望在 Android 设备上使用鼠标输入。

  • 这就是如何分离不同平台的代码。谢谢。 (2认同)