Lua函数链接C#、Unity使用

--闭包实现迭代器

 function Values(t)
     local i=0
    return function ()
    i=i+1
    return t[i]
    end
end

--连接C#使用
--创建空对象
--每次调用Unity都要前缀CS.UnityEngine
a=CS.UnityEngine
--[[创建一个空物体
a.GameObject("lua")
]]
--[[查找摄像机  可以通过名字和标签进行查找
camera=a.GameObject.FindWithTag('MainCamera')
if camera~=nil then
    print("find")
else
    print("not find")
end
]]

--[[克隆一个物体
qiu=a.Resources.Load('qiu')
a.GameObject.Instantiate(qiu)
]]

--[[调用C#属性和方法  lua不认静态方法不能调用
lua=CS.txt()
print(lua.id)
lua:Get()
]]

--[[访问枚举值
print(CS.State.Run)
--print(CS.State.R__CastFrom(1))
]]

--[[获取输入框和按钮主键
function Init()
   btn=a.GameObject.Find("an"):GetComponent(typeof(a.UI.Button))
   UserName=a.GameObject.Find("srk"):GetComponent(typeof(a.UI.InputField))
   --btn.onClick:AddListener(Click)
    btn.onClick:AddListener--与注释的等价
   (
   function()
   print(UserName.text)
   end
   )
end
--function Click()
    --print(UserName.text)
--end
]]

猜你喜欢

转载自blog.csdn.net/Optimistic_lx/article/details/129847460
今日推荐