MikuLingSSS 2018-09-27 07:27 采纳率: 58.3%
浏览 2489

Unity如何使用Xlua框架访问Lua可变函数

Test.lua.txt
Test = {}
function print(...)
    for i,v in ipairs{...}
    do
        print(i,v)
    end
end

请问,这一种使用Xlua应该怎么访问,我尝试使用委托

private delegate void Delegate_T(params object[] o);
private del Delegate_T;
private LuaTable scriptEnv;
scriptEnv.Get("SelfTest", out d); 

但是会报出一个错误,并且截断我所有代码

 InvalidCastException: This type must add to CSharpCallLua: LuaBehaviour+del
XLua.ObjectTranslator.getDelegate (XLua.DelegateBridgeBase bridge, System.Type delegateType) (at Assets/XLua/Src/ObjectTranslator.cs:376)
XLua.ObjectTranslator.CreateDelegateBridge (IntPtr L, System.Type delegateType, Int32 idx) (at Assets/XLua/Src/ObjectTranslator.cs:447)

  • 写回答

1条回答 默认 最新

  • MikuLingSSS 2018-09-27 07:34
    关注

    我智障了 = = 报错信息里面明明给了解决方法,

    只要在委托上面加上CsharpCallLua就可以使用可变数组了

      [CSharpCallLua]
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝