我需要将sprite从一边移动到另一边。我使用:
CCSprite *man;
id actionMove = [CCMoveTo actionWithDuration:1 position:ccp(20,300)];
[man runAction:actionMove];当它移动到(20,300)时,我需要将sprite移动到(20,0),然后将其移动到(20,300)并返回。我该怎么做呢?谢谢。
发布于 2011-04-18 22:49:17
CCMoveTo *move = [CCMoveTo actionWithDuration:1 position:ccp(20,300)];
CCCallFuncN *move_done = [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished)];
[man runAction:[CCSequence actions:move1,move_done1,nil]];
-(void)spriteMoveFinished
{
CCMoveTo *move1 = [CCMoveTo actionWithDuration:1 position:ccp(20,0)];
[man runAction:[CCSequence actions:move1,nil]];
}发布于 2013-08-18 22:33:07
不确定我是否正确,但这应该会在2秒内将y轴上的man 300px向上移动,然后再回到同一轴上的0px。不依赖于之前的位置,这个人将在y上移动+300,然后在y上移动-300。
这是关于CCMoveBy的:
CCAction *moveOne = [CCMoveBy actionWithDuration:1 position:ccp(0, 300)];
CCAction *moveTwo = [CCMoveBy actionWithDuration:1 position:ccp(0, -300)];
CCSequence *manMoving = [CCSequence moveOne, moveTwo, nil];
[man runAction:manMoving];这是关于CCMoveTo的:
CCAction *moveOne = [CCMoveTo actionWithDuration:1 position:ccp(20, 300)];
CCAction *moveTwo = [CCMoveTo actionWithDuration:1 position:ccp(20, 0)];
CCSequence *manMoving = [CCSequence moveOne, moveTwo, nil];
[man runAction:manMoving];https://stackoverflow.com/questions/5704244
复制相似问题