随笔分类 -  Lua

摘要:基于quick cocos2d-x2.2.5的API,写的一个栈,队列。满足游戏开发中的需求。避免重复造车轮~(简单测试。留着自己用。不确定是否还存在bug)栈Stack: 1 -- 2 -- Date: 2014-11-19 15:29:02 3 -- 4 local Stack = class(... 阅读全文
posted @ 2014-11-20 10:29 Mr轨迹 阅读(7239) 评论(0) 推荐(0)
摘要:一、table.insert()1.11 local countries = {"China", "England", "Brazil"}2 --尾插法(Pos不填,默认插入尾部)3 table.insert(countries, "France")4 --头插法(首... 阅读全文
posted @ 2014-06-23 17:31 Mr轨迹 阅读(4066) 评论(0) 推荐(0)
摘要:有一个函数是这样的:function Car:setSpeed(t_speed) self.speed = t_speed print(self.speed)end我准备调用回调函数的函数:function CarDriver:tapGas(self, callback) currentSpeed = currentSpeed + 10 callback(currentSpeed)end调用过程:CarDriver:tapGas(Car.setSpeed)然后我欢快的调用tapGas,踩着油门踏板。。。结果打印的self.speed = nil......正确的调用过程应该是这样:Ca... 阅读全文
posted @ 2014-04-02 18:00 Mr轨迹 阅读(5125) 评论(0) 推荐(0)
摘要:metatable是我用Lua语言一段时间都没有搞的很明白的东西。再次遇到,就决心要和metatable叙叙感情。首先谈谈元方法metaFunction有哪些:add, sub, mul, div, mod, pow, unm, concat, len, eq, lt, le, tostring, gc, index, newindex, call...使用的时候记得在元方法前面加上2条下划线:例如:index -> __index说说__index的使用: local t1 = {} function t1.showInfo() print("t1.showInfo Meth 阅读全文
posted @ 2014-04-02 14:00 Mr轨迹 阅读(5067) 评论(0) 推荐(0)
摘要:不废话,直接上代码:MyClass = { showInfo = function(...) for k,v in pairs({...}) do print(k,v) end end}--Tom,23岁,男,身高175,体重70kgMyClass.showInfo("Tom",23,"Boy",175,70)运行结果:将多参数的不同类型的参数组成一张table. like this --> {...}然后遍历输出。还有一种情况:上图:需要注意的是:local path = ...这个需要定义在函数体的外部,打印可以知道这个path的输出是:... 阅读全文
posted @ 2014-03-31 16:25 Mr轨迹 阅读(2394) 评论(0) 推荐(0)
摘要:1、全局变量的删除可以直接将其赋值为nil----------------------------------------------------------------------------2、字符串的引用可以是单引号、或者是双引号(习惯使用双引号)-----------------------------------------------------------------3、Lua中除了false 跟 nil 是假、其余值都是真(0,空串都返回真)-----------------------------------------------------------------4、== 阅读全文
posted @ 2014-03-21 10:30 Mr轨迹 阅读(436) 评论(0) 推荐(0)
摘要:在table表中使用for迭代时,将符合条件的元素删除时,后面元素前移,然后产生跳跃而且使用for i=1,#mytable 这样的循环时,由于在for时就已经确定了循环的终点是table的总长度,在整个for运行过程中,终点不会改变。所以当你删除元素时,在循环到i = #mytable 时,会报错nil。因为此时table长度已经缩短了。那么该怎么遍历table时删除符合条件的元素呢。网上查了一下,使用while可以。写了一个小测试例子: 1 local t = {} 2 t[1] = 1 3 t[2] = 2 4 t[3] = 3 5 t[4] = ... 阅读全文
posted @ 2014-03-19 11:50 Mr轨迹 阅读(14960) 评论(2) 推荐(1)
摘要:安装lua_xx_xxx.exe:1、百度Lua,进入官网。找到下载的地方(getstarted -> Installing)2、进入googlecode,然后下载。可能失败。原因是被墙了吧。使用迅雷将请求下载的地址贴过去,让迅雷来下载,可以过。3、下载完毕,安装。4、安装完成。可以使用windows cmd 输入lua。进入lua解释器交互模式,你输入一句,它编译一句、类似cmd的操作。编译lua代码:a.lua文件如下:print("Hello Lua")local a = 1local b = 3print(a+b)a = a+blocal function a 阅读全文
posted @ 2014-03-08 08:30 Mr轨迹 阅读(299) 评论(0) 推荐(0)
摘要:--更多详细参考 http://luaer.diandian.com/post/2011-10-09/5660047 ----更多详细参考 http://blog.csdn.net/goodai007/article/details/8077285--local function main() pr... 阅读全文
posted @ 2013-11-28 11:29 Mr轨迹 阅读(14580) 评论(0) 推荐(0)
摘要:demo.luaprint("11111111111")dofile("./src/main.lua") --执行Lua脚本文件main.lualocal function fileRW() print("22222222222") ------------------------------------------------------------ ---------------------READ FILE------------------------------ ------------------------------- 阅读全文
posted @ 2013-11-28 10:17 Mr轨迹 阅读(2607) 评论(0) 推荐(0)
摘要:代码的实现很简单,但是主要还是看看别人的quick2dx项目代码,然后自己思考下,学会总结。模仿大牛的代码也很重要~~~~~local Animal = {age = 3,gender = "male"} --定义一个Animal的表function Animal:extend() --定义表中的一个extend方法(继承机制的核心就是下面四行代码) local obj = obj or {} --if obj not nil return obj,else return {} setmetatable(obj, self) --set self as obj's 阅读全文
posted @ 2013-11-27 15:14 Mr轨迹 阅读(3682) 评论(0) 推荐(0)