1

長さ 18 フレームのスプライトを作成しました。スプライトは静止してフレームを通過し、アニメーションをループするはずですが、実行すると、最後のフレームに到達するまでアニメートしながら画面上をゆっくりと移動し、元のフレームに戻ります。留まるはずだった本来の位置。

これを行う理由がわかりませんが、サイズを小さくしたり大きくしたりしようとしましたが、サイズによっては動かず、本来のようにアニメーション化するだけです。なぜこれが起こるのか、そしてそれが動くのを止めて本来あるべき場所にとどまる方法について誰かが答えを持っているなら、それは大歓迎です.

スプライトに 1 行だけ使用し、gimp を使用してスプライトを作成し、png として保存しました。

4

1 に答える 1

0

コードがかなり長いので、追加しませんでしたが、このチュートリアル 水族館のライブ壁紙チュートリアルに基づいています

私は答えを見つけたと思いますが、私が作成したdrawableという名前のフォルダーにpngスプライトがあり、すべての画像を配置しました。もう一度試してみましたが、今回は他のフォルダーにスプライトを配置しましたが、移動しませんでした。スプライトをスケーリングしてみたところ、少し不安定になりました。代わりにスケーリングを使用して、すべての画面で同じサイズを維持することを望んでいました。これは通常の画像では機能しますが、スプライトでは問題が発生します。 drawable-large-mdpiフォルダー内の最大サイズで、その方法で問題が発生するかどうかを確認します。その方法で更新してお知らせします。画像を1つだけにして、代わりに画面サイズに応じて拡大縮小すると便利です。

さて、私は最終的に答えを見つけました、そしてそれはスプライトを作成する人を助けるかもしれません、量のフレームに分割されたときの幅は測定値が浮動または二重ではないので整数でなければなりません、それでフレームが分割されたときにそれが来たのでそれは動きます代わりに、フロートの余分な測定値が何であれ、それが移動する原因となった部分になります(私は推測します)。例:スプライトの高さが100ピクセル、幅が1082ピクセルで、15フレームの場合、各フレームの幅は各フレームで72.133333333ピクセルになり、アニメーションの見栄えを保ちながら画像を余分な長さに移動するエラーが発生します。これで、幅が1080pxの場合、各フレームの幅は72pxになり、整数になり、完全にアニメーション化されます。

于 2011-09-30T15:31:00.823 に答える