CCSprite
このコードを使用して、iOSデバイスの画面上を簡単に移動します。
[self schedule:@selector(update:) interval:0.0167];
- (void) update:(ccTime) delta {
CGPoint currPos = self.position;
currPos.x += xVelocity;
currPos.y += yVelocity;
self.position = currPos;
}
これは機能しますが、アニメーションはスムーズではありません。アニメーションの滑らかさを改善するにはどうすればよいですか?
私のシーンは非常に単純です(背景画像のあるフルスクリーンが1つと、ゆっくり動くCCSprite
比較的小さいものが1つあります)。CCSprite
ccTimeデルタをログに記録しましたが、一貫性がありません(ほとんどの場合、指定した間隔である0.0167よりも大きくなります...場合によっては最大4倍になります)。
更新方法のモーションをデルタ時間に合わせて調整することを検討しました(デルタが大きい=>動きが大きいなど)。しかし、私のシーンの単純さを考えると、より良い方法があるようです(そしておそらく私が見逃している基本的なもの)。