Cc(self)是什么意思?

cc(self)是什么意思?

gameobject扩展

分别找到这2句代码:


cc(self):addComponent("components.behavior.EventProtocol"):exportMethods()
cc.GameObject.extend(self):addComponent("components.behavior.EventProtocol"):exportMethods()

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


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


cc.GameObject = import(".GameObject")
local GameObject = cc.GameObject
local ccmt = {}
ccmt.__call = function(self, target)
    if target then
        return GameObject.extend(target)
    end
    printError("cc() - invalid target")
end
setmetatable(cc, ccmt)

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

Ps:如果不知道 __call 什么意思的可以看一下这里的解释
http://blog.chinaunix.net/uid-20225489-id-4444520.html