Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 4049.00元

xlua 插件嵌入

 

 

打开热更新的宏

 

当前工程有任何更改,都需要:

Xlua -> Generate Code

再点击

Xlua -> Hotfix inject in Editor

(如果有出错,先Clear Generate Code)

打包前,记得删除example文件夹,否则会各种出错。

 

如果还是有错误,可能需要copy dll文件:

 

xlua放置目录不要有中文

[展开全文]
Jornason · 2018-04-17 · 2

build项目的时候,出错误,要删xlua中的example文件夹

[展开全文]
SaulGoodman · 2021-05-02 · 1

这节课笑场了哈哈哈哈 call call  calllllll

[展开全文]
吕先生丶 · 2023-02-08 · 0

记一下随机数的坑

1.unity里的随机数方法有两个,一个是int参数,一个是float参数。

     但是lua里只有number

     lua调用时会调用到float的方法。

2.我用lua自带的 math.random(min,max) 

     但是这里也有个坑

      unity里的 Ramdon.Range(min,max) 不包括max

      而lua里的math.random(min,max) 包括了max

最后导致了数组索引越界。

 

所以最后用了math.random,记得把传入的max值-1就好了

 

另外

local halfLength = self.fishList.Length/2

这里可能会得到小数

直接传入math.random会报错

向下取证就好了

local halfLength = math.modf(self.fishList.Length/2)

[展开全文]
愚蠢的人类 · 2023-03-16 · 0

如果要先执行原有的方法 再执行补丁方法

 

lua中:

local util = require 'util'

 

util.hotfix_ex(CS.XX,"Start",function(self)

self:Start()

xxxxxxxx

end)

[展开全文]
王伟 · 2018-04-17 · 0

在File_Build Settings-Player Settings-other Settings-Scriptsing Define Symbols中输入HOTFIX_ENABLE按ENTER

 

 

[展开全文]
619217299 · 03-06 · 0

hotfix使用

1.在类上打上hotfix标签

2.在方法上加上luacallcsharp

3.生成xlua文件

4.执行hotfix标签

5.在lua中加入c#dll

6.在lua中 通过hotfix的方法调用重写该方法

[展开全文]
也该告一段落了 · 2023-02-13 · 0

模式 框架 了解一下

[展开全文]
zecymo · 2019-02-13 · 0

延时功能可以使用,0.7s是延时时间

 Invoke("Prize", 0.7f);

[展开全文]
zecymo · 2019-02-13 · 0

缺少2个步骤

1.xlua -- 第一行按钮 生成

2.xlua -- 第三行按钮 注入

--将tools复制到工程文件夹

--dll文件复制到工程的Editor

位于Unity2017\Editor\Data\Managed

复制到Assets\XLua\Src\Editor

Unity.Cecil.dll

Unity.Cecil.Mdb.dll

Unity.Cecil.Pdb.dll

 

坑:工程目录不能带中文

 

 

[展开全文]
zecymo · 2019-02-13 · 0

打包前删除例子

[展开全文]
zecymo · 2019-02-13 · 0
	void Start () {
		LuaEnv env = new LuaEnv();
        env.AddLoader(MyLoader);
	    env.DoString("require 'fish'");
	}

    byte[] MyLoader(ref string pathfile)
    {
        string absPath = @"E:\ProjA\LUALearn\" + pathfile + ".lua.txt";
        return System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(absPath));
    }

 

坑:

lua编码使用UTF8编码格式

[展开全文]
zecymo · 2019-02-13 · 0

坑1:注销虚拟机委托

 

[展开全文]
zecymo · 2019-02-13 · 0

lua可以直接调用C#的共有方法

访问函数内的共有变量则要加上self.变量名

function(self){

self.变量名

},

调用函数内的私有变量,就要在方法前加上

xlua.private_accessible(CS.函数名)

函数名中填写你需要访问的私有变量所在的函数

[展开全文]
sdewqazxcds · 2019-07-25 · 0

补丁流程

1.using XLua;

2.打标签 [Hotfix]

3.编写lua脚本

xlua.hotfix(classname,methodname,function(self)

--方法代码

end)

 

坑:bullectAudio取不到值

private AudioSource bullectAudio;

private属性不能直接用,需要加xlua.private_accessible(calss)

 

[展开全文]
zecymo · 2019-02-14 · 0

判断鼠标是否点在UI上

EventSystems.EventSystem.current.IsPointerOverGameObject()

[展开全文]
zecymo · 2019-02-14 · 0

坑:

lua放在start里 无法保证补丁会在所需start之后,导致无效

要保证打补丁要先执行。

[展开全文]
zecymo · 2019-02-14 · 0

导入util库

把util文件放到补丁脚本文件夹

require 'util'

util.hotfix.ex(class,'method',function(self)

  self.method()

 --自己的代码

end)

注销方法同xlua.hot

[展开全文]
zecymo · 2019-02-14 · 0

坑:lua使用C#重载方法

[展开全文]
zecymo · 2019-02-15 · 0

坑:lua使用C#重载方法

解决思路:

1.有C#的方法去整值

2.lua的math.floor

[展开全文]
zecymo · 2019-02-15 · 0