CCMoveTo
用于将 Sprite A 移动到 Sprite B 的位置时,我有奇怪的行为
。Sprite A 和 B 是 Sprite C 的子级,Sprite C 是 Sprite D 的子级。
所有锚点都是 (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 as B
看起来动画动作在世界空间 X 和 Y 中移动 A 并且不是相对于 Sprite C 的位置的节点空间。
但是我该如何解决这个问题?我在这里做错了吗?