Cocos2d-x 之Lua初学
来源:互联网 发布:矩阵a的n次方的行列式 编辑:程序博客网 时间:2024/05/25 01:35
Lua简介:lua是一个动态脚本语言,游戏开发中经常使用,我感觉它的特点就是灵活、简洁。就目前对我们的项目而言,它最大的特色就是游戏更新可设计成一种资源形式的更新方式。
由于我的目的是达到lua中使用cocos2d-x的api 来实现游戏编程,所以我只是大体了解了下单向的调用过程,对于逆向调用过程并没有深入了解。使用lua的前提下,先简单介绍一下学习 lua 需要注意的一些东西。
主要分为: lua的数据类型、lua的栈、lua的内存。最近也在网上狂搜了一些lua的资源,我发现以后三方面的知识算是lua比较核心的一些东西。
Lua栈(抄自己CSDN一个技术牛人的博客,本人语言组织能力较差)
Lua与别的语言交互以及交换数据,是通过栈完成的。其实简单的解释一下,你可以把栈想象成一个箱子,你要给他数据,就要按顺序一个个的把数据放进去,当然,Lua执行完毕,可能会有结果返回给你,那么Lua还会利用你的箱子,一个个的继续放下去。而你取出返回数据呢,要从箱子顶上取出,如果你想要获得你的输入参数呢?那也很简单,按照顶上返回数据的个数,再按顺序一个个的取出,就行了。不过这里提醒大家,关于栈的位置,永远是相对的,比如-1代表的是当前栈顶,-2代表的是当前栈顶下一个数据的位置。栈是数据交换的地方,一定要有一些栈的概念。当你初始化一个栈的时候,它的栈底是1,而栈顶相对位置是-1,说形象一些,你可以把栈想象成一个环,有一个指针标记当前位置,如果-1,就是当前栈顶,如果是-2就是当前栈顶前面一个参数的位置。以此类推。当然,你也可以正序去取,这里要注意,对于Lua的很多API,下标是从1开始的。这个和C++有些不同。而且,在栈的下标中,正数表示绝对栈底的下标,负数表示相对栈顶的相对地址,这个一定要有清晰的概念,否则很容易看晕了。
这里就要再迁出一个更重要的概念了,Lua不是C++,对于C++程序员而言,一个函数会自动创建栈,当函数执行完毕后会自动清理栈,Lua可不会给你这么做,对于Lua而言,它没有函数这个概念,一个栈对应一个lua_State指针,也就是说,你必须手动去清理你不用的栈,否则会造成垃圾数据占据你的内存。关于内存网上大多问题集中在全局变量,因为lua默认变量是全局类型的,所以一定要记得释放。
Lua
http://blog.csdn.net/favormm/article/details/5796610
转自:http://blog.sina.com.cn/s/blog_61ece09901012vlk.html
- Cocos2d-x 之Lua初学
- Cocos2d-X之LUA笔记
- cocos2d-x lua 初学以及碰到的问题(一)
- cocos2d-x lua之创建剪切精灵
- cocos2d-x Lua 之 CCMoveTo 误区
- Cocos2d-x 之选择 Lua 还是 Javascript?
- Cocos2d-x游戏开发之Lua
- Cocos2d-x 之 lua 代码加密
- Cocos2d-x之LUA脚本引擎浅析
- Cocos2d-x Lua游戏开发之Lua 面向对象编程
- Cocos2d-x Lua游戏开发之Lua oo 的实现
- 《Cocos2d-x之Lua核心编程》读书笔记:Lua基础
- 初学COCOS2D-X 配置
- cocos2d-x初学笔记
- [寒江孤叶丶的Cocos2d-x之旅_23]Cocos2d-x LUA实现事件分发器 lua EventDispatcher
- cocos2d-x 与 lua
- Cocos2d-x Lua action
- cocos2d-x嵌入lua
- POJ1679 The Unique MST
- 制作源码包
- Linux磁盘分区
- iOS: UIScrollViewDelegate Protocol的方法scrollViewDidScroll:
- iOS: UIScrollViewDelegate Protocol的方法scrollViewDidScrollToTop:
- Cocos2d-x 之Lua初学
- Java Socket实战 使用NIO包实现Socket通信
- xmu 1125 - 越野车大赛(三分)
- 深入理解Java Proxy机制
- hadoop 2.0 详细配置教程
- iOS: UIScrollViewDelegate Protocol的方法scrollViewDidZoom:
- python 动态导入模块
- iOS: UIScrollViewDelegate Protocol的方法scrollViewShouldScrollToTop:
- 黑马程序员-GUI(图形用户接口)