网上关于Lua的教程似乎还没有泛滥,最近刚好学习在Cocos2d-x使用Lua,当然了,我是写教程狂,我会分享我的学习心得的~
(旁白:我噗~!每次你写东西我就要吐槽,你不累么= =)
这是第一课,先来让Lua和C++认识一下,顺便让它们逛街吃饭牵小手什么的…
(旁白:。。。吹,继续吹)
1. Lua的堆栈和全局表
我们来简单解释一下Lua的堆栈和全局表,堆栈大家应该会比较熟悉,它主要是用来让C++和Lua通信的,是的,它们并不认识对方,只能通过堆栈来沟通,就像写信一样。
(旁白:它们不会用微信吗?!微信~!不知道?)
Lua的全局表又是什么呢?可以想象成是一个map哈希表结构,比如Lua有一个变量:
复制代码 代码如下:name = “hello”
那么,全局表就存放了”name”和”hello”的对应关系,Lua可以通过name在全局表中查找到hello。应该是这样的~
(旁白:应该= =!)
2. Lua和C++的第一次通信
现在来设计一个场景,C++在一次JavaScript开发者大会上看到Lua在演讲,于是C++被Lua深深吸引了。
(旁白:JavaScript大会…那为毛是Lua在演讲~!)
我们来看看这位美丽的Lua小姐长什么样:
复制代码 代码如下:-- hello.lua 文件
myName = "beauty girl"
OK,一位简单又美丽Lua小姐。
然后,C++想知道Lua叫什么名字,所以,它们必须要通信了。来看看通信流程:
请注意红色数字,代表通信顺序:
1) C++想获取Lua的myName字符串的值,所以它把myName放到Lua堆栈(栈顶),以便Lua能看到
2) Lua从堆栈(栈顶)中获取myName,此时栈顶再次变为空
3) Lua拿着这个myName去Lua全局表查找myName对应的字符串
4) 全局表返回一个字符串”beauty girl”
5) Lua把取得的“beauty girl”字符串放到堆栈(栈顶)
6) C++可以从Lua堆栈中取得“beauty girl”,也就是这位美丽的Lua小姐的名字了~
世界如此美妙,这是如此的简单。
(旁白:好吧,这次不吐槽,确实简单…)
不过,(旁白:我就知道~!我就知道事情没有那么简单!)这只是最简单的情况,实际上各种C++和Lua的操作比这要复杂多了,但基本原理是一样的。
好的,趁着旁白还没有吐槽,我们要结束第一章了,希望能帮到大家。
(旁白:说得好像我好喜欢抢戏似的,我像这样的人吗?= = 等等~!例子呢?Demo呢?)
噢,Demo将在下一章介绍。
(旁白:吊胃口。。。绝对是在吊胃口…你以为我会期待吗,魂淡…心好痒~!)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]