Cocos2d-x Luaバインディングで、
local p = ccp(10, 20) + ccp(100, 200)
print(p.x, p.y) -- 110 220
のようなことをする方法.
local ccpmt = getmetatable(ccp(0,0))
function ccpmt.__add(a, b)
return ccp(a.x+b.x, a.y+b.y)
end
同じように、__sub, __mul, __div, __len
あたりを定義すれば-, *, /, #
を
CCPointに対して使えるようになる.
Cocos2d-x3の場合はccpをcc.pに.