Lua getPosition和setPosition问题

发现getPosition只会返回x和y,而不是ccp
而setPosition则只能使用ccp,不能使用x和y

还有一个问题,我看tolua的CCNode.pkg,完全看不出来
void getPosition(float* x = 0, float* y = 0);
void setPosition(float x, float y);
void setPosition(CCPoint pos);

求解这是为什么……

以后都是local x, y = getPosition(); setPosition(ccp(x, y))这样子写,不可以使用其它方法?

你敢不敢用quick cocos2dx

根本不能这么写,暂时无解

表示说错了,是可以这么写的,随便怎么 写,稍微要用lua语法而已

我也是刚发现这个问题。底层绑定的c++函数不同。getPosition绑定的是这个货Node::getPosition(float* x, float* y)。而且是在manual的绑定中。为什么这么做就不知道了。

好几年后来回答自己,这么做的原因是因为lua创建table比较耗。

:joy:居然看到10年前的自己
这么多年了,你就没有碰到一些成功的Lua商业项目是自己创建表和封装的么
这种机会以后机会是越来越少了
举个例子吧
let v1, v2
v1.sub(v2)
v1.subtract(v2)
v1.subself(v2)

我至今都没搞懂这3个方法怎么用,反正真正写代码,后面还是有一串的:

v1.sub(cc.v2(1,1)).normalize().mul(10).subtract(xxxx)

或者他们的调用实现真的有不同,也有高低之分
但都不重要了,因为3个我都不会用(太tm难用了,记都记不住,还说使用哦?)

let middlex = endx +(width - endx)/2;    //取中点(draw point)
let middley = endy +(height - endy)/2;

所以,十年来我好像都没进步啊,反而还写倒退了

(好的,我就是想说,cocos自身公布那么多函数都是毫无意义的,唯一见过就是国内这些程序员通过不停的写这些函数证明自己存在过,而上升到领导层的基本都会选择躺平,没有决断力,没有执行力)

所以就才有了cocos setPosition , setPos等等的函数

(cocos真心能载入史册,所以一个失败的商业案例,和梦断代码,汽车回收齐名,相信不用多久了)