2013年1月21日月曜日

CCMoveToとCCMoveBy

CCMoveToとCCMoveByの違いを理解するために、リファレンスを参照。
CCMoveByはCCMoveToを継承し、deltaPosition(フレームごとのポジション移動量?)が指定されている。

deltaはどうやら、frameの差分の様子。
参考1 (どこかの質疑応答)
参考2「Unity におけるフレームと Update」

00134 @interface CCMoveTo : CCIntervalAction <NSCopying>
00135 {
00136         CGPoint endPosition;
00137         CGPoint startPosition;
00138         CGPoint delta;
00139 }
00141 +(id) actionWithDuration:(ccTime)duration position:(CGPoint)position;
00143 -(id) initWithDuration:(ccTime)duration position:(CGPoint)position;
00144 @end
00145 
00150 @interface CCMoveBy : CCMoveTo <NSCopying>
00151 {
00152 }
00154 +(id) actionWithDuration: (ccTime)duration position:(CGPoint)deltaPosition;
00156 -(id) initWithDuration: (ccTime)duration position:(CGPoint)deltaPosition;
00157 @end

CCMoveToは、特定地点(絶対位置)への移動。一度移動したら、そこで終了。
CCMoveByは、現在地からの相対的移動。絶対位置の指定ではなく。どんどん移動できる。現在地から、次の地点へ、同量の距離を。

ということらしい。

どんどんSpriteを動かす場合には、CCMoveByが便利。

0 件のコメント:

コメントを投稿