0

CCMoveToを使用してスプライト A をスプライト B の位置に移動すると、奇妙な動作が発生します。
スプライト A と B は、スプライト D の子であるスプライト C の子です。
すべてのアンカーポイントは (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
になると予想されます。Bとして x160.000000 , y:81.000000
になると予想されます。スプライト C に相対的な位置であるノード空間ではありません。

しかし、どうすればこれを修正できますか? 私はここで間違っていますか?

4

0 に答える 0