Javascriptゲーム用のカード画像がある場合、その画像を表示する最も効率的な方法は何ですか?
同じ画像URLで新しいオブジェクトを作成するだけですか?
すべての画像をプリロードして非表示にし、画像オブジェクトのインスタンスを複製する必要がありますか?
別の方法がありますか?Javascriptゲームのカード画像を表示する最も効率的な方法
1
A
答えて
2
- もちろんあらかじめロードしてください。
- できるだけスプライトを使用します。たとえば、各スーツを1つの画像に読み込むことができます。次に、各カードをdivの背景として読み込むことができます。
- 同じURLから画像を読み込む限りです。ブラウザーは、サーバーから要求するのではなく、クライアントのローカルにキャッシュされたファイルを使用する必要があります。
- クローニングは良いはずですが、それは深いクローンでなければなりません。そうしないと、他のすべてのクローンに影響します。
2
私が行うオプションは、CSS Spritingと呼ばれています。基本的には、すべての画像を1つの大きな画像に結合してから、CSSを使用してwidth
とleft
の属性を設定して、必要な画像だけを表示します。利点は、すべての画像がその1つの大きな画像から一度に読み込まれることです。
1
これを表示するには、一般的なimg要素の "src"属性を置き換える方がいいでしょう。 プリロードについては、おそらく良い考えです。イメージをプリロードするために必要な作業は、
var preloadImg = new Image();
preloadImg.src = "blah";
などです。これをキャッシュにロードするといいですよ。
2
これらをすべて事前にロードすることをお勧めします。最初に要求されても遅延なく、必要に応じて表示されます。それらがユーザー側にキャッシュされていることを確認します。
イメージにCSSスプライトを使用することを考えましたか? 52種類のイメージのヘッダーを要求する必要がないので、おそらくこれも高速化します。 13枚のカードを1列に並べ、それぞれのスーツに4枚のカードを1枚ずつ入れて、カードごとにbackground-position
を調整すれば、一枚のカードがロードされるとすべてがロードされていることが保証されます。
関連する問題
- 1. 画像を更新する最も効率的な方法
- 2. 最も効率的なページヒットを生成する最も効率的な方法
- 3. ImageMagick、画像のサイズを変更する最も効率的な方法は?
- 4. JavaScriptでボックスをパックする最も効率的な方法は?
- 5. 動画をレンダリングする最も効率的な方法
- 6. Silverlightクライアントに画像を転送する最も効率的な方法
- 7. 最も効率的な方法のハンドラ
- 8. CanvasとDOMの違い - HTML5で最も効率的な画像表示方法は何ですか?
- 9. Androidは最も効率的な方法でサーバーに画像をアップロードします
- 10. Javascript - 画像のツリーを効率的に定義する方法
- 11. サーバステータスの結果を表示する最も効率的な方法
- 12. 最も効率的な方法
- 13. 最も効率的な方法
- 14. 最も効率的な方法と
- 15. 最も効率的な方法
- 16. 最も効率的な方法
- 17. 画像が画像かどうかを確認する最も効率的な方法PHP
- 18. anglejsの動的オプションメニューを表示するための最良の(最も効率的な)方法
- 19. ビューの上にボタンを描画する最も効率的な方法は?
- 20. 画面上のピクセルを検索する最も効率的な方法は?
- 21. リストのデータを比較する最も効率的な方法
- 22. Futuresのリストをストリームする最も効率的な方法
- 23. 大量のオーディオファイルをフォーマットする最も効率的な方法
- 24. データのハッシュをフォーマットする最も効率的な方法は?
- 25. 最も効率的なマルチレベルコメントシステム
- 26. 最も効率的なバブルソートメカニズム
- 27. もっと効率的な方法で背景画像を拡大する
- 28. "最も最近の行"に参加する最も効率的な方法
- 29. QQuickPaintedItemで効率的な連続画像をペイントする方法
- 30. JavaScriptセットを文字列に変換する最も効率的な方法
最も効率的な方法はCSS3です:http://demos.sixrevisions.com/2010/08/26/Demo.html – Harmen