lua中的table就是一种对象,例如
Test1 = { x = nil,y = nil,} --创建一个新表 function Test1:new() --如果参数中没有提供table,则创建一个空的。 local o = o or {} --将新对象实例的metatable指向Test1表(类),这样就可以将其视为模板了。 setmetatable(o,self); --在将Test1的__index字段指向自己,以便新对象在访问Test1的函数和字段时,可被直接重定向。 self.__index = self; return o; end function Test1:setXY(x,y) self.x = x; self.y = y; end function Test1:getXY() print("x="..self.x.." y="..self.y) return self.x,self.y end function Test1:setX(x) self.x=x end function Test1:getX() return self.x end function Test1:setY(y) self.y=y end function Test1:getY() return self.y end
在main.lua中使用
require("src/Test1")
local t1 = Test1:new(); local t2 = Test1:new(); t1:setXY(2,5) t2:setXY(8,2) -- t1:getXY() -- t2:getXY() print(t1:getXY())
看看输出
cocos2d: [LUA-print] x=2 y=5 cocos2d: [LUA-print] 2 5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。