首页 > 编程知识 正文

delux,怎么用热点更新ios系统

时间:2023-05-03 20:21:46 阅读:148919 作者:2604

总结的是简单的热更新。 (更新cube特性) )。

最初cube是静止的,但xlua更新使cube继续围绕y轴旋转

1 )必须将xlua下载并解压缩到github官方网站(此解压缩文件和本示例中的项目可以在我的资源中下载) (名称为xlua热更新)。

2 )打开新项目

3 :必须将两个文件拖动到项目的Asset下。

4 )然后,必须将Tools文件夹复制到Asset并行文件夹下(否则会出错)。

tools文件夹位于xlua下

我需要复印到你的项目上

5 :这一步绝对不能忘记。 设定宏

.宏定义:将HOTFIX_ENABLE添加到“editprojectsettingsplayerothersettingsscriptingdefinesymbols”中。

(注意:每个平台必须单独安装)

设置完成后,一定要用enter键确定,编译结束后,就有这个地方了

6 :这个过程也很重要,生成代码

按顺序单击。 cleargeneratedcode---generate code---hotfixinjectineditor

注意事项(单击时请务必在编译结束后单击以下内容。 (请检查unity右下角是否有旋转的齿轮,如果有,正在编译,如果没有,请检查编译是否成功。)

成功的标志如下。

7 )接下来是脚本编写。 )一共需要两个脚本。 一个是lua脚本,另一个是C#脚本

C#脚本放在相机上。 名称为Test,需要引入命名空间xlua。 (请注意,必须在类上方添加“[Hotfix]”。 )对于包含需要用xlua更新的代码的类,必须将其写入

整个代码如下所示。

using System.Collections;

using system.collections.generic;

using UnityEngine;

using XLua;

[Hotfix]

公共类测试3360 mono behaviour

{

#region将自定义loader//Lua文件放入自定义文件夹中并加载Lua env Lua env=null void start () { luaenv=new LuaEnv ); (}public void PrintString () ) debug.log (c#------------ ) ); }void OnGUI () if ) GUI layout.button (' click ' ) )使用lamuda表达式定义委托方法,或在其他位置定义方法。 只需填写方法名称//Luaenv.addloader (load function ) Lua env.add loader ) (refstringfilename ) ) /在项目的流资产下//Lua文件return system.text.encoding.utf8.getbytes (system.io.file.read alltext (path ) )前往您自己定义的文件夹//Lua env.do string (' require ' hotluafix ' ); }}void Update () { PrintString ); if(Luaenv!=空值(Lua env.tick ) ); }}void OnDestroy () { luaenv.Dispose ); //private byte [ ] load function (refstringfilename )//string path=application.streamingassetspath '/' file Nath//dath //return system.text.encoding.utf8.getbytes (system.io.file.read alltext ) path ); //}#endregion }

lua脚本放在了d驱动器中。 上面使用了自定义loader,(最好在addLoader处判断这个文件是否存在)

lua脚本如下所示。

localgameobject=cs.unity engine.game object

local deltime=cs.unity engine.time.deltime

local cube=game object.find (‘cube’) )。

xlua.hotfix(cs.test,“‘printstring”,function ) self ) ) )。

打印(cube.name ) )。

cube.transform.rotation=cube.transform.rotation * cs.unity engine.quaternion.Euler (0,1,0 ) ) ) ) )。

打印(cube.transform.rotation ) )。

print(Lua----123456 ) )

end )

如果在运行后单击ClickBUtton,则会发生此错误

因为在生成代码后修改了脚本。 此时,需要重新生成代码。 也就是说,再次执行步骤6。

此时,可以更新C#方法以旋转Cube。

最后总结:上面的lua脚本截图有什么地方不对。 找不到名为Hotluatest的lua脚本。 您只需更改为CS.Test,如以下代码所示:

另外,用lua脚本同样放在这个项目下,下载后直接在ssdfbx上查找就可以了。

还有lua脚本的后缀是这样的

关注微信公众号: GameResources获取游戏资源和私信所需的文件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。