スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

重いゲームを軽くしてみる

先日購入した端末(N-04C)でゲームを起動したところ、動作がカクカクだったのでいろいろと調べてみたら、どうやら画面上にスプライトを配置しすぎていたのが原因だったみたいです;

tile_01_grass_part_1.png  tile_02_grass_part_2.png  tile_03_grass_part_3.png

AndEngineではアタッチすることで画面上にスプライトを描画することができるのですが、どうやらアタッチをしすぎると(古い端末では特に)処理スピードが遅くなってしまいます。これは本来のゲームでも同じですよね。

このゲームでは2次元配列で管理しているもの(草や山、ブロックなど)や、画面上にアタッチされているものはすべてスプライトデータで構成されております。※以下の画像をご覧ください

system_03_title_back (3)

画像を見ていただくとお分かりかと思いますが、タテ15マス、ヨコ25マスの計375マスの中のどれかに一つ一つブロックや草の一部をはめ込んでいき、スプライトデータとしてアタッチしています。
ちなみにマス単位で描画しているのは本家のマリオでも同じです。(というか、大体の2次元ヨコスクロールゲームはこの方法で作られていると思います。)

改めて、これをN-04Cでスクロールさせるとかなり重く動作がカクカクだったのですが、アタッチするスプライトの画像を減らすことでだいぶマシにはなりました。

軽くする方法として、一つ一つアタッチしていたものをまとめてアタッチする、ことです。

tile_17_ground_block_short.png



tile_18_ground_block_long.png

これは上にマリオが乗っかる地面のブロック。
これを従来一個ずつアタッチしていましたが、今回の変更で10個まとめてアタッチしてみたところだいぶサクサク動くようになりました!
まとめて出すとその分画像は大きくなってしまうのですが、動作はこっちのほうがはるかに軽いみたいですね。
もちろん草や山もパーツで出さずまとめて出したほうが動作が軽くなるのは分かっています。
ただその場合長さ(特にドカン)や形などのパターンを変更できなくなるので、すべての形の分画像を用意しないといけないため非常に面倒です。
こればかりは難しいですよね;

でも、できるだけたくさんの人に遊んでもらいたいので、今後も多くの端末で快適に操作できるよう作っていくつもりです。
スポンサーサイト

コメント

非公開コメント

プロフィール

岡本 賢治

Author:岡本 賢治
 
☆☆☆☆☆☆☆☆☆☆☆☆
 
Android専用アクションゲーム
「スーパーけんじラン」好評配信中!
 
↓↓↓↓↓↓↓↓↓↓↓↓

 
・公式サイトはこちらから
http://okamotodo.jimdo.com/

最新トラックバック

アクセスカウンター

オンラインカウンター

現在の閲覧者数:

検索フォーム

ブロとも申請フォーム

QRコード

QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。