美文网首页
unity使用lua

unity使用lua

作者: sqeety | 来源:发表于2017-03-17 08:56 被阅读0次

    为什么是使用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()

    相关文章

      网友评论

          本文标题:unity使用lua

          本文链接:https://www.haomeiwen.com/subject/uznsnttx.html