画面をタップすると少し上に回転し、その後、上に回転したのと同じ角度だけ下に回転します。次のコードを使用してこれを達成しました。
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//Plane move up on touch
UITouch *touch = [touches anyObject];
[plane stopAllActions];
[plane runAction:[CCSequence actions:[CCRotateBy actionWithDuration:0.15 angle:-20],
[CCMoveBy actionWithDuration:1 position:ccp(0,location.y)],
[CCRotateBy actionWithDuration:0.15 angle:20],
[CCCallBlock actionWithBlock:
^{
[self startDownMovement];
}],nil]];}
その後
-(void)startDownMovement {
[plane runAction:[CCSequence actions:[CCMoveBy actionWithDuration:2 position:ccp(0,-plane.position.y)],nil]];
}
問題は、たとえば 2 回タップすると、平面が 20 度上に 2 回移動しますが、20 度下に回転するのは 1 回だけです。平面を 20 度上に回転させたいだけです。画面を何度タップしても、20 度上にとどまり、その後 0 度に戻る必要があります。
助けてください。
ありがとうございます。