初学cocos提个小问题,望大神解答:
如题,我使用cc.pDistance来计算两个sprite之间的距离,但是发现计算的时候忽视掉了sprite的锚点位置,即anchorX和anchorY。
测试代码如下:
— Begin quote from ____
var s1 = new cc.Sprite(‘res/heart.png’);
var s2 = new cc.Sprite(‘res/heart.png’);
s1.setPosition(cc.p(10, 10));
s2.setPosition(cc.p(100, 100));
this.addChild(s1);
this.addChild(s2);
cc.log(cc.pDistance(s1.getPosition(), s2.getPosition())); //127.27922061357856
var s3 = new cc.Sprite('res/heart.png');
var s4 = new cc.Sprite('res/heart.png');
s3.anchorX = 0;
s3.anchorY = 1;
s3.setPosition(cc.p(-16, 36));
s4.setPosition(cc.p(100, 100));
this.addChild(s3);
this.addChild(s4);
cc.log(cc.pDistance(s3.getPosition(), s4.getPosition())); //132.48396129343357
— End quote
s1与s3是重合的,s2与s4是重合的,也就是说,从视觉上,s1-s2的距离和s3-s4的距离是相同的。但是计算出来的距离却不同。这算是bug吗,还是我的用法有问题。
望高手能解答下这个问题。