uLua对于unity的例子理解 一

初学者的理解 。。。。可能有很多是错的,可能有很多表述不清

本文有些地方不区分大小写,还有可能有拼写错误


02_CreateGameObject


 反射中:

load_assembly 相当于using

import_type 获取类  例如  luanet.import_type('UnityEngine.GameObject')   这样就获得GameObject
ctype 获取类的类型 例如 luanet.ctype(ParticleSystem) 


去反射中:

和反射主要的不同是:GameObject = UnityEngine.GameObject  和   ParticleSystem.GetClassType()



例子中是有两种方式,一种使用反射,一种使用wrap的去反射模式


对于wrap的去反射模式来说,优点:调用起来比较简单, 效率高 缺点:准备阶段比较复杂,当准备阶段没有把该类加载进去时,无法使用。

 准备阶段:http://www.cnblogs.com/hammerc/p/4718857.html

其中添加注册信息这一步不需要,他自动为我们添加好了


对于反射模式来说,优点:随时随地都能调用 缺点:效率低,调用的时候比较复杂(不会怎么用反射来调用unity中的类,这只是我猜);

还有个很简单的问题。。。unity中创建一个类时没用命名空间 那么他是否有个默认的命名空间


03_AccessingLuaVariables

突然想到还有个问题 :luastate和luascirptmgr这两个也是反射的问题  luastate是反射模式,luascirptmgr是去反射模式

对于luascirptmgr来说 必须先定义变量才能使用,对于luastate来说,lua的代码中可以不定义变量,到unity再定义变量也许。


需要注意 lua中table是一个字典,如果往table中存储数据 ,取出来是应当只取table.value


04_ScriptsFromFile

当使用dofile来加载文件时,luascirptmgr能够直接加载文件名,但路径必须是ulua下面的lua路径。luastate不行


dostring还能加载text文件                      text文件名应当加上.lua(猜测)


05_CallLuaFunction



有gc 回收

GetFunction获得方法

Call方法参数是方法的参数, 返回值是方法的返回值


无gc回收的

不会



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值