アクションの構成


アクションを構成するために, いくつかのアクションが用意されています.

シーケンス

CCSequenceアクションでは, アクションのシーケンスを作成することが出来ます. アクションはシーケンスの通り, 指定した順番に実行されます.

例:

 
id action1 = [CCMoveTo actionWithDuration:2 position:ccp(100,100)];
id action2 = [CCMoveBy actionWithDuration:2  position: ccp(80,80)];
id action3 = [CCMoveBy actionWithDuration:2  position: ccp(0,80)];
 
[sprite runAction: [CCSequence actions:action1, action2, action3, nil]];
 

この例では, まず最初にaction1が実行されます. action1の実行が終了したら, 次にaction2が実行されます. そして, action2の実行が終了したら, 最後にaction3が実行されます.

※ 内部アクションに実行時間が無制限のアクションを含めてはなりません. (例:CCRepeatForeverアクションはシーケンスアクションに含めることはできません.)

スポーン

CCSpawnアクションでは, 複数のアクションを同時に実行することができます. スポーンアクションの実行時間には, サブアクションの中で一番実行時間が長いものが使用されます.

例:

 
id action = [CCSpawn actions:
		[CCJumpBy actionWithDuration:2 position:ccp(300,0) height:50 jumps:4],
		[CCRotateBy actionWithDuration: 2 angle: 720],
		nil];
 
[sprite runAction:action];
 

リピート

CCRepeatアクションでは, 指定した回数だけアクションを繰り返すができます.

例:

 
id a1 = [CCMoveBy actionWithDuration:1 position:ccp(150,0)];
id action1 = [CCRepeat actionWithAction:
		[CCSequence actions: [CCPlace actionWithPosition:ccp(60,60)], a1, nil]
		times:3];
[sprite runAction:action1];
 

リピートフォーエバー

CCRepeatForeverアクションは特殊なアクションです. アクションを永遠に繰り返すため, 実行時間を指定することはできません.

例:

 
id a1 = [CCMoveBy actionWithDuration:1 position:ccp(150,0)];
id action2 = [CCRepeatForever actionWithAction:
		[CCSequence actions: [[a1 copy] autorelease], [a1 reverse], nil]
	];
[sprite runAction:action2];
 

※ インターバルアクションでこのアクションを有効にしたり, シーケンスアクションの中にこのアクションを含めることはできません.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-24 (日) 17:14:25 (2525d)