我正在使用cocos2d并使用以下代码根据触摸屏幕的播放器移动我的图层。出于某种原因,每次调用代码时,层的位置在一个方向或另一个方向上移位32。我无法理解为什么会发生这种情况。程序中的任何地方都没有其他代码可以操纵这些CCNode(或任何其他节点)的位置。
-(void) animateStructure:(int)index And:(CCSprite*)aSprite At:(CGPoint)aPoint {
CGPoint point1 = self.position;
CGPoint point2 = playerSprite.position;
id move = [CCMoveBy actionWithDuration:0.1 position:ccp(32*tempx,32*tempy)];
[self runAction:move];
id move2 = [CCMoveBy actionWithDuration:0.1 position:ccp(-32*tempx,-32*tempy)];
[playerSprite runAction:move2];
self.position = point1;
playerSprite.position = point2;
}
答案 0 :(得分:1)
如果您在行动进行过程中设置位置,则不确定移动操作将如何播出,就像这里的情况一样。