sprite sheet CSS アニメーション ジェネレーター

sprite sheet を、ライブプレビュー付きのコピー&ペーストできる CSS steps() アニメーションに、そのままブラウザー内で変換します。

sprite sheet はプレビューの作成と CSS 生成のためにブラウザー内でローカルに読み込まれます。画像がアップロードされることはなく、デバイス上に留まります。

出力を整えますか? CSS Formatter をお試しください。

sprite sheet CSS アニメーション について

この sprite sheet CSS アニメーションジェネレーターは、フレームのストリップやグリッドを、@keyframes と steps() タイミング関数に基づく、すぐ貼り付けられる CSS アニメーションに変換します。ライブプレビュー用に sprite sheet 画像をドロップするか、フレームの幅・高さ・枚数を入力するだけで、background-position の計算はツールが行います。単一の横一列とフルグリッドの両方に対応し、フレームを行優先で列方向、次に行方向へたどり、keyframes を background-size と組み合わせて各セルが正確に収まるようにします。速度を FPS か合計時間で設定し、アニメーションに名前を付け、無限か固定の反復回数を選び、方向を選べます。要素のサイズ指定、@keyframes ブロック、animation ショートハンドを含む完全な CSS が得られ、コピーするか .css ファイルとしてダウンロードできます。すべてはデバイス上で動作するため、アップロードしたシートはローカルで読み込まれ、ブラウザーから外に出ることはありません。

機能

sprite sheet CSS アニメーション の使い方

  1. sprite sheet をアップロードするか、アップロードを省いてフレーム寸法だけを入力します。
  2. 単一行かグリッドを選び、フレームの幅・高さ・枚数(グリッドでは列数と行数も)を設定します。
  3. 速度を FPS または合計時間で設定し、アニメーションに名前を付け、反復と方向を選びます。
  4. ライブプレビューで要素がアニメーションする様子を見て、フレーミングが正しいか確認します。
  5. 生成された CSS をコピーするか、.css ファイルとしてダウンロードしてプロジェクトに組み込みます。

入力

8 frames, 64×64 each, single row, 12 fps, infinite

出力

.sprite {
  width: 64px;
  height: 64px;
  background-repeat: no-repeat;
  animation: sprite 0.667s steps(8) infinite normal;
}

@keyframes sprite {
  from { background-position: 0 0; }
  to { background-position: -512px 0; }
}

単一行のシートは、全フレームを再生するのに steps(8) と2ストップの keyframe だけで済みます。

よくあるエラーとトラブルシューティング

よくある質問

steps() はどのように sprite sheet をアニメーションしますか。
steps(n) はアニメーションを n 個の等しいチャンクに分割し、補間する代わりにその間をジャンプするため、background-position が1フレームから次のフレームへスナップします。steps() をフレーム数と等しくすると、各フレームが1ステップ分表示され、ぼやけた中間位置が生じません。
画像をアップロードする必要がありますか。
いいえ。sprite sheet をアップロードするとライブプレビューが得られますが、フレームの幅・高さ・枚数だけからでも正しい CSS を生成できます。画像がない場合、プレビューはプレースホルダーのグリッドを表示しますが、計算と出力は正確なままです。
単一行モードとグリッドモードの違いは何ですか。
単一行モードは全フレームが1つの横一列に並んでいると仮定し、コンパクトな from/to の keyframe を出力します。グリッドモードは複数行のシートに対応し、フレームごとに background-position ストップを1つ出力して列方向から行方向へ動き、シート全体が正しくスケールするよう background-size を追加します。
FPS と合計時間のどちらを設定すべきですか。
1秒あたりに再生するフレーム数がわかっているときは FPS を使ってください。ツールはフレーム数を FPS で割って時間に変換します。フレーム数に関わらずループ全体を特定のミリ秒にしたいときは合計時間を使ってください。
アニメーションを無限に、または数回だけループさせるにはどうすればよいですか。
止まらないループには Infinite を選びます。これは animation-iteration-count: infinite にマッピングされます。決まった回数だけ再生するには Count を選んで数を入力し、逆再生や交互再生には direction オプションを使ってください。
sprite sheet はどこかにアップロードされますか。
いいえ。画像はブラウザーの FileReader でローカルに読み込まれてプレビューを作り、デバイスから外に出ることはありません。生成される CSS はすべてお使いのマシン上で計算されます。

関連ツール

すべての ArrayKit ツール