COCOS2D for iOS - CCMoveTo does not work...?
sorry, my english level is very low.
my code...
CCNode *A = [self getChildByTag:kATag];
CCNode *B = [self getChildByTag:kBTag];
CCMoveTo *MoveAction = [CCMoveTo actionWithDuration:1.0f position:A.position.x, 0];
[A runAction:[[MoveAction]copy];
[B runAction:[[MoveAction]copy];
B 开发者_如何学编程sprite is moved. but A sprite does Not Move.
so, i added
[A stopAllActions];
[A runAction:[[MoveAction]copy];
[B runAction:[[MoveAction]copy];
but does not work.
[A setVisible:NO]
so, this code is work. Sprite A is Hide.
Why CCMoveTO does not work????
CCMoveTo
was deprecated in V3
, now CCActionMoveTo
is used.
Try this:
CGPoint location = [touch locationInView:[touch view]];
CGPoint convertedLocation = [[CCDirector sharedDirector] convertToGL:location];
CCActionMoveTo *MoveAction = [CCActionMoveTo actionWithDuration:1.0f position:convertedLocation];
[A runAction:[[MoveAction]copy];
[B runAction:[[MoveAction]copy];
Try with
CMoveTo *MoveAction = [CCMoveTo actionWithDuration:1.0f position:CGPointMake(A.position.x, 0)];
Also, what is the A's Y position? If it is 0, then it won't move anywhere.
CCNode *A = [self getChildByTag:kATag];
CCNode *B = [self getChildByTag:kBTag];
CCMoveTo *MoveActionA = [CCMoveTo actionWithDuration:1.0f position:A.position.x+10, 0];
CCMoveTo *MoveActionB = [CCMoveTo actionWithDuration:1.0f position:B.position.x+10, 0];
[A runAction:MoveActionA];
[B runAction:MoveActionB];
- Each CCNode must have its own CCAction object. You can't use a single CCAction for multiple CCNodes.
- Double check that the position you are moving to is correct. In your code it is possible to you were moving it to its current position.
- There was no need for the "copy" to run the action.
精彩评论