[ cocos2d-html ] アクション紹介~MoveTo・MoveBy~

 
前回は、cocos2d-htmlによるSpriteのFadeInとFadeOutアクションのお話でした。
今回は、Spriteを動かすときに使用する「Move」アクションについてご紹介します。
 
 Layerに追加したSpriteに直線的な移動動作をさせるためには
  「MoveTo」もしくは、「MoveBy」アクションを使用します。
 
 初期位置は ( 200, 100 ) にセットしました。
  初めに「MoveTo」のご紹介です。
 以下をご覧ください。
 設定は、var action = cc.MoveTo.create() で行っています。
 create()で、指定する引数は
「アクション時間」、「座標」
 以上の2点です。
  画像では create(1.0, cc.p(200, 200))となっていますので
  1.0秒かけて 座標(x:200,y:200)まで移動する
 ということになります。
 次に「MoveBy」のご紹介です。
 以下をご覧ください
 特に変わった箇所はありません。
 create()の引数も先ほどと同じです。
 唯一、変わっているのは
cc.MoveTo.create() → cc.MoveBy.create()
 と、Move後の「To」が「By」になっていることです。
 
 MoveByの場合どのような動きになるのか、こちらをご覧ください。
 さきほどとは全然違う場所にSpriteがあります。
 
  これは「MoveTo」が絶対座標を指定するのに対して
 「MoveBy」は相対座標を指定する為です。
 
 ここでいう相対座標というのは
    「Spriteが配置されている座標を原点とした座標」
  と解釈してください。
 
 このプロジェクトを例に説明しますと
  circleの座標→setPositionで指定した x:200, y:100 ※これがMoveByで指定する座標の原点になる
 MoveByで指定した引数→ x:200, y:200
 
  なので
    200 + 200 = 400
    100 + 200 = 300
 
  となり、先ほどの「MoveBy」は
    1.0秒かけて 座標(x:400, y:300) まで移動する。
 
 となるわけです。
 
   
  「MoveTo」も「MoveBy」も同じ直線運動をするためのアクションですが、
  どちらを使うかは状況によって変わってくると思いますので、色々と応用しながら使用してみてください。
 
 以上で、 MoveTo・MoveBy の紹介は終わりとなります。
 
<次回以降の更新について>
次回は、BezeirTo・BezeirByを紹介したいと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*