麥田物語學(xué)習(xí)筆記(1)編輯器擴(kuò)展
花了兩天時(shí)間學(xué)習(xí)了前20節(jié)。
1、2d素材的擺放
2、UIToolkit
在這個(gè)基礎(chǔ)上我接入了XLua,并用lua實(shí)現(xiàn)了前面的一些腳本。并對(duì)LuaBehavior進(jìn)行了一些改造。
1、允許LuaBehavior之間訪問對(duì)方表中的屬性。開放了這個(gè)屬性后,LuaBehavior就能像monoBehavior一樣,相互訪問屬性。
2、擴(kuò)展了LuaBehavior的生命周期。額外新增了fixedupdate和lateupdate。為什么使用這兩個(gè)東西呢。因?yàn)樯婕暗搅藙傮w的移動(dòng)。與之相應(yīng)的,對(duì)LuaBehavior進(jìn)行了重構(gòu)。
創(chuàng)建了一個(gè)BaseLuaBehavior作為抽象類,負(fù)責(zé)Lua腳本的掛件。LuaBehavior派生于BaseLuaBehavior。
由于游戲中存在大量的碰撞。所以LuaBehavior也派生了兩個(gè)類。LuaPhysicsBehavior和Lua2DPhysicsBehavior。分別具備了3d物理和2d物理的碰撞事件。
3、在mono腳本中大量使用gameobject和transform這兩個(gè)對(duì)象。所以LuaBehavior也將這兩個(gè)對(duì)象注入到了Lua表中,避免重復(fù)的添加操作。
其次,由于目前只掌握了Gameframework框架,準(zhǔn)備將Gameframework遷入該項(xiàng)目中。GF的Procedure、UI、Entity都需要使用XLua擴(kuò)展。較為麻煩??赡軙?huì)用lua重新寫一個(gè)。
這個(gè)時(shí)候,比較尷尬的是,整個(gè)GF框架能夠真正使用到的部分可能只有資源模塊了。Lua腳本中,可以使用package作為全局單例表。香是真的香。再用class實(shí)現(xiàn)以下面向?qū)ο螅僬{(diào)用C#函數(shù),基本上就沒有特別需要的東西了。