win7系統(tǒng)下載
當(dāng)前位置: 首頁(yè) > 軟件下載教程 > 詳細(xì)頁(yè)面

XLua框架電腦端官方正版2024最新版綠色免費(fèi)下載安裝

XLua框架電腦端官方正版2024最新版綠色免費(fèi)下載安裝
  • 軟件大。翰榭
  • 軟件語(yǔ)言:簡(jiǎn)體中文
  • 授權(quán)方式:免費(fèi)軟件
  • 更新時(shí)間:2024-07-21
  • 軟件類(lèi)型:國(guó)產(chǎn)軟件
  • 推薦星級(jí):
  • 運(yùn)行環(huán)境:XP,Win7,Win8,Win10,Win11
軟件介紹
分享到: 0

軟件介紹


XLua框架是騰訊研發(fā)的Lua開(kāi)源插件,xLua為Unity、 .Net、 Mono等C#環(huán)境增加Lua腳本編程的能力,借助xLua,這些Lua代碼可以方便的和C#相互調(diào)用。

XLua框架

插件特性

  總體

  Lua虛擬機(jī)支持

  Lua5.3

  Luajit2.1

  Unity3D版本支持

  各版本均支持

  平臺(tái)支持

  windows 64/32

  android

  ios 64/32/bitcode

  osx

  uwp

  webgl

  互訪(fǎng)技術(shù)

  生成適配代碼

  反射

  易用性

  解壓即可用

  開(kāi)發(fā)期無(wú)需生成代碼

  生成代碼和反射間可無(wú)縫切換

  更簡(jiǎn)單的無(wú)GC api

  菜單簡(jiǎn)單易懂

  配置可以多份,按模塊劃分,也可以直接在目標(biāo)類(lèi)型上打Attribute標(biāo)簽

  自動(dòng)生成link.xml防止代碼剪裁

  Plugins部分采用cmake編譯,更簡(jiǎn)單

  核心代碼不依賴(lài)生成代碼,可以隨時(shí)刪除生成目錄

  性能

  Lazyload技術(shù),避免用不上的類(lèi)型的開(kāi)銷(xiāo)

  lua函數(shù)映射到c# delegate,lua table映射到interface,可實(shí)現(xiàn)接口層面無(wú)C# gc alloc開(kāi)銷(xiāo)

  所有基本值類(lèi)型,所有枚舉,字段都是值類(lèi)型的struct,在Lua和C#間傳遞無(wú)C# gc alloc

  LuaTable,LuaFunction提供無(wú)gc訪(fǎng)問(wèn)接口

  通過(guò)代碼生成期的靜態(tài)分析,生成*優(yōu)代碼

  支持C#和Lua間指針傳遞

  自動(dòng)解除已經(jīng)Destroy的UnityEngine.Object的引用

  擴(kuò)展性

  不用改代碼就可以加入Lua第三方擴(kuò)展

  生成引擎提供接口做二次開(kāi)發(fā)

  支持為如下C#實(shí)現(xiàn)打補(bǔ)丁

  構(gòu)造函數(shù)

  析構(gòu)函數(shù)

  成員函數(shù)

  靜態(tài)函數(shù)

  泛化函數(shù)

  操作符重載

  成員屬性

  靜態(tài)屬性

  事件

  Lua代碼加載

  加載字符串

  支持加載后立即執(zhí)行

  支持加載后返回一個(gè)delegate或者LuaFunction,調(diào)用delegate或者LuaFunction后可傳腳本參數(shù)

  Resources目錄的文件

  直接require

  自定義loader

  Lua里頭require時(shí)觸發(fā)

  require參數(shù)透?jìng)鹘oloader,loader讀取Lua代碼返回

  Lua原有的方式

  Lua原有的方式都保留

  Lua調(diào)用C#

  創(chuàng)建C#對(duì)象

  C#靜態(tài)屬性,字段

  C#靜態(tài)方法

  C#成員屬性,字段

  C#成員方法

  C#繼承

  子類(lèi)對(duì)象可以直接調(diào)用父類(lèi)的方法,訪(fǎng)問(wèn)父類(lèi)屬性

  子類(lèi)模塊可以直接調(diào)用父類(lèi)的靜態(tài)方法,靜態(tài)屬性

  擴(kuò)展方法(Extension methods)

  就像普通成員方法一樣使用

  參數(shù)的輸入輸出屬性(out,ref)

  out對(duì)應(yīng)一個(gè)lua返回值

  ref對(duì)應(yīng)一個(gè)lua參數(shù)以及一個(gè)lua返回值

  函數(shù)重載

  支持重載

  由于lua數(shù)據(jù)類(lèi)型遠(yuǎn)比C#要少,會(huì)出現(xiàn)無(wú)法判斷的情況,可通過(guò)擴(kuò)展方法來(lái)來(lái)調(diào)用。

  操作符重載

  支持的操作符:+,-,*,/,==,一元-,<,<=, %,[]

  其它操作符可以借助擴(kuò)展方法調(diào)用

  參數(shù)默認(rèn)值

  C#參數(shù)有默認(rèn)值,在lua可以不傳

  可變參數(shù)

  在對(duì)應(yīng)可變參數(shù)部分,直接輸入一個(gè)個(gè)參數(shù)即可,不需要把這些參數(shù)擴(kuò)到一個(gè)數(shù)組里頭

  泛化方法調(diào)用

  靜態(tài)方法可以自行封裝使用

  成員函數(shù)可通過(guò)擴(kuò)展方法封裝使用

  枚舉類(lèi)型

  數(shù)字或字符串到枚舉的轉(zhuǎn)換

  delegate

  調(diào)用一個(gè)C# delegate

  +操作符

  -操作符

  把一個(gè)lua函數(shù)作為一個(gè)c# delegate傳遞給c#

  event

  增加事件回調(diào)

  移除事件回調(diào)

  64位整數(shù)

  傳遞無(wú)gc而且無(wú)精度損失

  lua53下使用原生64位支持

  可以和number運(yùn)算

  以java的方式支持無(wú)符號(hào)64位整數(shù)

  table的自動(dòng)轉(zhuǎn)換到C#復(fù)雜類(lèi)型

  obj.complexField = {a = 1, b = {c = 1}},obj是一個(gè)C#對(duì)象,complexField是兩層嵌套的struct或者class

  typeof

  對(duì)應(yīng)C#的typeof操作符,返回Type對(duì)象

  lua側(cè)直接clone

  decimal

  傳遞無(wú)gc而且無(wú)精度損失

  C#調(diào)用Lua

  調(diào)用Lua函數(shù)

  以delegate方式調(diào)用Lua函數(shù)

  以L(fǎng)uaFunction調(diào)用lua函數(shù)

  訪(fǎng)問(wèn)Lua的table

  LuaTable的泛化Get/Set接口,調(diào)用無(wú)gc,可指明Key,Value的類(lèi)型

  用標(biāo)注了CSharpCallLua的interface訪(fǎng)問(wèn)

  值拷貝到struct,class

  Lua虛擬機(jī)

  虛擬機(jī)gc參數(shù)讀取及設(shè)置

  工具鏈

  Lua Profiler

  可根據(jù)函數(shù)調(diào)用總時(shí)長(zhǎng),平均每次調(diào)用時(shí)長(zhǎng),調(diào)用次數(shù)排序

  顯示lua函數(shù)名及其所在文件的名字及行號(hào)

  如果C#函數(shù),會(huì)顯示這個(gè)是C#函數(shù)

  支持真機(jī)調(diào)試



[溫馨提示]:
點(diǎn)下面下載:(推薦使用"迅雷"進(jìn)行下載,系統(tǒng)下載大全QQ交流群:)