unity-lua 登录界面思考

     首先进入游戏的第一个场景需要有界面

     但是热更新之前,你不知道这个界面是否是最新的。那么就有这么一个问题,在解压资源的时候,我加载一个叫做first的界面。解压完毕后,我们进入更新界面。此时啥都不改。更新完毕后,我们进入下一个游戏场景。此时由于更新完毕,下一个场景的界面可能是新的。

    那么下一次进入游戏的时候,发现无需解压,则直接加载最新的界面。

    在编辑第一个界面的时候,觉得UIshader太复杂,于是还是采用自己写的老UIshader。

    对于第一个界面是否采用lua,各有各的说法,最终因为担心热更之后将热更功能损坏,所以还是使用c#.

    对于中文,本来打算配置在lua文件里面,但发现其实并不好处理所见即所得。于是还是用c#提供接口,但是返回给lua参数的时候,感觉字符串可能过大。

    所以可能用两套系统,一个是c#里的中文,一个是动态的lua里的中文。

    最近开始整理,发现以下几个问题。

    首先,luajit必须根据不同版本使用不同分支,32位要用32位jit,64位要用64位jit。

    加载资源尽量用lz4+loadfromfile,性价比最高了。

    lua里使用的类型,必须要暴露个lua。

   一开始将amf3解码后的东西传给lua,无法解析,只能知道是userdata.

   后来将asobject.cs暴露给lua,就好了。

  对于对象池的处理,首先music的prefab,应该是要有一个对象池。它没有任何依赖,可以加载一个放着,常驻内存。

  而具体的audio,则要根据情况,如果没有使用了,则需要直接unload(true),释放所有资源。

猜你喜欢

转载自blog.csdn.net/yxriyin/article/details/78558119