• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スムーズに動く アニメーションの作成方法)

スムーズに動くアニメーションの作成方法

このQ&Aのポイント
  • 主要のブラウザ・OS・端末・各ディスプレイサイズの全てでスムーズに動くアニメーションの作成方法について教えてください。
  • 試した方法でスムーズな動きを実現できず、バグが発生しました。また、画像データ容量が大きい場合には初めのコマが飛ばされる問題も発生しました。
  • 初心者レベルでも解決できる方法を教えていただけると助かります。また、分かりやすい参考サイトも教えていただけると嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

No.1です。 >アニメーションが始まるタイミングが遅くなるのはやはり避けたいですが こればっかりは、閲覧者側の環境に依存するところが大きいので、なんとも… 製作者側でとれる手段としては、  ・画像データを極力軽いものにする  ・画像を1枚に統合させて、表示する時にクリップなどで切り分ける   (読込みのリクエストを減らす意味) などでしょうか。 ajaxでデータを読込む場合などで、データ読込み処理中は「Loading」のアニメーションgifなどを表示させているのをよく見かけますけれど、そんな対応にしておくのも一法かと思います。

tsyok
質問者

お礼

>fujillinさん ご回答ありがとうございます。 はい、閲覧者側の環境に左右されてしまいますよね… >「Loading」のアニメーションgif 参考になりました。 ありがとうございます。

その他の回答 (2)

回答No.2

jQuery を使う時点で、速度だとかスムーズさをもとめるのがなんとも…、だと思う・

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>ディズプレイやブラウザによってはピカピカッ >とバグが出てしまいました。 >アニメーション途中からの再生表示になってし まいました。 両方とも同じ理由ではないかと思います。 大量の画像データをロードしようとしも、読み込まれる順序や所要時間も一定ではありません。 その結果、まだ読み込まれていない画像を表示しようとする時に光ったようになったり(背景色を明るい色にしているのだと想像します)、アニメーションの途中からようやく画像の読み込みが追いついてきたりした結果ではないでしょうか。 対策としては、必要な画像をプレロードして、ロードを確認してからアニメーションを始めるようにすればよさそうに思います。 この場合は、アニメーションが始まるタイミングが、今までよりは遅くなる可能性が高いですけれど… 画像のロードの確認は、プレロード時にそれぞれのimg要素のonload eventを監視して、全部読み込まれたかを判断すればよろしいかと思います。 一枚だけ読み込みに失敗したときはどうするのかといった問題は残りますが… そのあたりは適宜に。 >ソース コードの記述変更にてその画像を拡大表示すれ >ば解決すると思い試しましたが、今度は「無限ループ >エラー」とな りうまくいきませんでした。 どこを変更なさったのか分かりませんが、とりあえず、原因はその部分にあるのではないですか?

tsyok
質問者

お礼

>fujillinさん ご回答いつもありがとうございます。 画像を全て読み込ませて、読み込み時の監視はonloadイベントを使うという事ですね。 挑戦してみます。 (アニメーションが始まるタイミングが遅くなるのはやはり避けたいですが…)

関連するQ&A