上节课程我们讲解了如何安装Unity 接下来用lua实现unity的功能
由于unity中 api特多 我就写一些简单的举例说明
首先我们在场景中创建个Cube然后修改tag为“Player”
- 然后利用lua修改其名字
执行测试
利用lua已经把cube的名字修改
FindGameObjectWithTag返回的就是GameObject该物体所以能直接.name 把name修改
心得:因为lua的方法没有提示,所以好多api我们只能通过查看wrap文件注册的api
如:UnityEngine.GameObject.FindGameObjectWithTag("Player")
这行代码的FindGameObjectWithTag方法在lua中很容易敲错,所以可以查看wrap文件找到并拷贝过来。
2.给Cube添加一个脚本,我刚刚写的RotateSelf的那个脚本
C#写法: gameObject. AddComponent<RotateSelf>();
Lua无法用泛型
所以上面的无法让lua用
C# 有个重载; gameObject. AddComponent (typeof(RotateSelf));
然后lua中就
根据第二个重载方法添加该脚本。
测试结果:
Cube就有了之前写的那个脚本了。
注意:lua中用c#的方法 静态方法用“.”非静态方法用“:”
3.利用lua执行我们自己写的脚本的方法
把RotateSelf里面的Rotate方法完善
然后重新wrap
其实这个方法名没有变 参数没有变 就可以不wrap还是可以直接使用
Lua代码
因为Rotate方法是非静态所以是用“:”
执行结果