使用CCMoveTo
将Sprite A移动到Sprite B的位置时,我有一些奇怪的行为
Sprite A和B是Sprite C的子节点,它是Sprite D的子节点
所有的anchorpoints都是(0,0)。
我在代码中有什么:
D->addChild(C,1);
C->addChild(A,1);
C->addChild(A,1);
CCPoint BOriginalPos = B->getPosition(); //this is the sprite where i want to move sprite A to , which is : x160.000000 ,y:81.000000
CCMoveTo* AMoveToB = CCMoveTo::create(0.3f,BOriginalPos );
CCSequence* AMovesToBSequence = CCSequence::create(AMoveToB , NULL);
A->runAction(AMovesToBSequence);
但是当我记录A位置时,我得到: x187.925095,y:81.000000
我希望它是: x160.000000,y:81.000000 为B
看起来动画动作在世界空间X和Y中移动A而不是移动到相对于Sprite C的位置的节点空间。
但我该如何解决这个问题呢?我在这里做错了吗?