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; endfunction Test1:setXY(x,y) self.x = x; self.y = y;endfunction Test1:getXY() print("x="..self.x.." y="..self.y) return self.x,self.yendfunction Test1:setX(x) self.x=xendfunction Test1:getX() return self.xendfunction Test1:setY(y) self.y=yendfunction Test1:getY() return self.yend
在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=5cocos2d: [LUA-print] 2 5总结
以上是内存溢出为你收集整理的cocos2d-x lua 面向对象全部内容,希望文章能够帮你解决cocos2d-x lua 面向对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)