码迷,mamicode.com
首页 > 其他好文 > 详细

cc(self)是什么意思?

时间:2015-02-09 00:39:20      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

分别找到这2句代码:

 
复制代码
  1. cc(self):addComponent("components.behavior.EventProtocol"):exportMethods()
  2. cc.GameObject.extend(self):addComponent("components.behavior.EventProtocol"):exportMethods()


所以 cc(self) 就等于调用 cc.GameObject.extend(self) 。

----------------------------------------------------------------------------
原因是因为再 framework/cc/init.lua 中有这样一段定义:

 
复制代码
  1. cc.GameObject = import(".GameObject")
  2. local GameObject = cc.GameObject
  3. local ccmt = {}
  4. ccmt.__call = function(self, target)
  5.     if target then
  6.         return GameObject.extend(target)
  7.     end
  8.     printError("cc() - invalid target")
  9. end
  10. setmetatable(cc, ccmt)



这段代码定义了 cc() 的执行行为,也就是 __call 的调用效果。

Ps:如果不知道 __call 什么意思的可以看一下这里的解释
[lua] __call metamethod的用处 

cc(self)是什么意思?

标签:

原文地址:http://www.cnblogs.com/zhepama/p/4280704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!