XLua_热更新学习四,使用lua脚本热更新

上一篇搭建好了lua虚拟环境(点击查看),本篇利用搭建好的虚拟环境尝试着进行XLua热更新

1.先创建项目,写好业务代码(例子)

1.1创建Button,和脚本NewBehaviourScript(挂在Button上)
1.2代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using XLua;

[Hotfix] //[Hotfix]一定要有
public class NewBehaviourScript : MonoBehaviour {
    public GameObject hong;
    public GameObject Canvass;
    void Start () {
        transform.GetComponent
2.打开上篇创建的lua脚本fish.lua.txt 编写补丁代码
print('更改预设物生成位置')
--C#命名空间
local UnityEngine = CS.UnityEngine
--补丁 参数1:需要更改的C#类名。参数2:需要更改的方法名。参数3:lua方法(更改的内容)
xlua.hotfix(CS.NewBehaviourScript,'OnButtonClick',function(self)
    local go = UnityEngine.GameObject.Instantiate(self.hong,UnityEngine.transform.Position+UnityEngine.Vector3(100,100,0),self.transform.rotation)
    go.transform.SetParent(go.transform,self.Canvass.transform)
end)
3.打开Unity进行以下操作

4.运行测试

热更前的生成位置

热更后的生成位置

你可能感兴趣的:(XLua_热更新学习四,使用lua脚本热更新)