cocos2d-x lua 面向对象

前端之家收集整理的这篇文章主要介绍了cocos2d-x lua 面向对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

lua中的table就是一种对象,例如

  1. Test1 = {
  2. x = nil,y = nil,}
  3.  
  4. --创建一个新表
  5. function Test1:new()
  6.  
  7. --如果参数中没有提供table,则创建一个空的。
  8. local o = o or {}
  9. --将新对象实例的Metatable指向Test1表(类),这样就可以将其视为模板了。
  10. setMetatable(o,self);
  11. --在将Test1__index字段指向自己,以便新对象在访问Test1函数和字段时,可被直接重定向
  12. self.__index = self;
  13. return o;
  14. end
  15.  
  16. function Test1:setXY(x,y)
  17. self.x = x;
  18. self.y = y;
  19. end
  20.  
  21. function Test1:getXY()
  22. print("x="..self.x.." y="..self.y)
  23. return self.x,self.y
  24. end
  25.  
  26. function Test1:setX(x)
  27. self.x=x
  28. end
  29.  
  30. function Test1:getX()
  31. return self.x
  32. end
  33.  
  34. function Test1:setY(y)
  35. self.y=y
  36. end
  37.  
  38. function Test1:getY()
  39. return self.y
  40. end

在main.lua中使用
  1. require("src/Test1")


  1. local t1 = Test1:new();
  2. local t2 = Test1:new();
  3. t1:setXY(2,5)
  4. t2:setXY(8,2)
  5. -- t1:getXY()
  6. -- t2:getXY()
  7.  
  8. print(t1:getXY())

看看输出
  1. cocos2d: [LUA-print] x=2 y=5
  2. cocos2d: [LUA-print] 2 5

猜你在找的Cocos2d-x相关文章