Actions

アクション

アクションは, いくつかのCCNodeオブジェクトに与えられる命令のようなものです. これらのアクションは通常, 位置・回転・拡大縮小などのようなオブジェクトの属性を変更します. これらの属性の変更が一定時間の間で行われるアクションを"IntervalAction", それ以外のアクションを"InstantAction"と言います.

例えば, CCMoveByアクションは一定時間の間で位置のプロパティを変更します. ゆえに, このアクションは"インターバルアクション"であると言えます.

例:

 
# スプライトを2秒間の間に, 50ピクセル右 10ピクセル上に動かす
[sprite runAction: [CCMoveBy actionWithDuration:2 position:ccp(50,10)]];
 

インターバルアクションはいくつかの興味深いプロパティを持っています.

  • これらのアクションは時間の変化を利用して加速させることができます
    • CCEaseIn
    • CCEaseOut
    • CCEaseInOut
    • CCSpeed
    • Etc. (詳細については、EaseActionsTest.m を参照してください)
  • 全ての相対的なアクション(語尾に"By"が付くアクション)と, いくつかの絶対的なアクション(語尾に"To"が付くアクション)は, アクションを逆方向に実行することの出来る"reverse"アクションを実装しています

CCActionManagerを使用して全てのアクションを 一時停止/再開 することもできます.

 
# アクションの一時停止
[[CCActionManager sharedManager ] pauseAllActionsForTarget:sprite ] ;
 
# アクションの再開
[[CCActionManager sharedManager ] resumeAllActionsForTarget:sprite ] ;
 

ベーシックアクション

ベーシックアクションはオブジェクトの基本的なプロパティの値しか変更しません.

例:

 
CGSize s = [[CCDirector sharedDirector] winSize];
 
id actionTo = [CCMoveTo actionWithDuration: 2 position:ccp(s.width-40, s.height-40)];
id actionBy = [CCMoveBy actionWithDuration:2  position: ccp(80,80)];
 
[sprite1 runAction: actionTo];
[sprite2 runAction:actionBy];
 

リバースアクション

ほぼ全てのアクションには"reverse"メソッドが実装されています. 基本的にはそのアクションとは逆の動作をする新しいアクションを生成します.

例:

 
id move = [CCMoveBy actionWithDuration:2  position: ccp(80,80)];
 
id move_reverse = [move reverse];
 

move_reverseアクションは, CCMoveByアクションを2秒間でccp(-80,-80)の位置に移動させるアクションになっています.


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