unity使用lua

为什么是使用Lua

脚本语言的优势:
  • 大部分脚本语言相对C++这种高级编辑语言来说,都语法简单,通俗易懂

  • 使用脚本语言可以减少游戏的编译时间,甚至在游戏运行时可以修改脚本,不需要去重新编译启动。

  • 脚本语言一般是弱类型。C++需要自己实现一套反射机制

游戏中用的比较多的脚本是lua,python。手机游戏开发居多的是lua。lua具有轻巧,速度快的特点,与C交互操作方便。

怎么在unity中使用xLua

xlua 加入工程。lua和c#交互和C++差不多。主要是把Lua源码编译成dll,在C#进行调用。
一个好的lua结构:

  • 新建一个main.lua文件,在C#调用dostring("require main")

  • lua面向对你编程,很多人采用的cococs2dx的class方式。这里推荐另外一种简洁方式

function Class(base, _ctor)
    local c = {}
    if not _ctor and type(base) == 'function' then
        _ctor = base
        base = nil
    elseif type(base) == 'table' then
        for i,v in pairs(base) do
            c[i] = v
        end
        c._base = base
    end
    c.__index = c

    local mt = {}
    
    mt.__call = function(class_tbl, ...)
        local obj = {}
        setmetatable(obj,c)
    
        if _ctor then
            _ctor(obj,...)
        end
        return obj
    end    
        
    c._ctor = _ctor
    setmetatable(c, mt)
    return c
end

使用的时候类似C风格,直接tabletest()就可以了。不再需要像Cocos2dx使用tabletest.new()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,288评论 0 17
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 11,450评论 0 11
  • 1.1程序块:Lua执行的每段代码,例如一个源代码文件或者交互模式中输入的一行代码,都称为一个程序块 1.2注释:...
    c_xiaoqiang阅读 2,683评论 0 9
  • 人自伤心花自笑,星若流年斜阳去。 举杯把月十里亭,山水相逢缘相聚。 茶香,倒影, 飘逸满...
    說書阅读 209评论 0 1
  • 孟说,你想成为什么样的人,你就会遇见什么样的人,就会成为什么样的人,还是相信这句话。 愿时光善待每一个人。 白天去...
    47a5445d9005阅读 310评论 0 0

友情链接更多精彩内容