Notice: get_currentuserinfo の使用はバージョン 4.5.0 から非推奨になっています ! 代わりに wp_get_current_user() を使ってください。 in /var/www/html/blog/wp-includes/functions.php on line 3831 Call Stack: 0.0000 228200 1. {main}() /var/www/html/blog/index.php:0 0.0001 228640 2. require('/var/www/html/blog/wp-blog-header.php') /var/www/html/blog/index.php:17 0.1108 5928664 3. require_once('/var/www/html/blog/wp-includes/template-loader.php') /var/www/html/blog/wp-blog-header.php:19 0.1119 5936736 4. include('/var/www/html/blog/wp-content/themes/zbench/single.php') /var/www/html/blog/wp-includes/template-loader.php:74 0.1119 5936768 5. get_header() /var/www/html/blog/wp-content/themes/zbench/single.php:1 0.1119 5937352 6. locate_template() /var/www/html/blog/wp-includes/general-template.php:45 0.1119 5937592 7. load_template() /var/www/html/blog/wp-includes/template.php:647 0.1119 5951440 8. require_once('/var/www/html/blog/wp-content/themes/zbench/header.php') /var/www/html/blog/wp-includes/template.php:688 0.1133 5967648 9. wp_head() /var/www/html/blog/wp-content/themes/zbench/header.php:8 0.1133 5967696 10. do_action() /var/www/html/blog/wp-includes/general-template.php:2589 0.1133 5968368 11. WP_Hook->do_action() /var/www/html/blog/wp-includes/plugin.php:453 0.1133 5968464 12. WP_Hook->apply_filters() /var/www/html/blog/wp-includes/class-wp-hook.php:323 0.1266 6199016 13. call_user_func_array:{/var/www/html/blog/wp-includes/class-wp-hook.php:298}() /var/www/html/blog/wp-includes/class-wp-hook.php:298 0.1266 6199624 14. add_google_analytics() /var/www/html/blog/wp-includes/class-wp-hook.php:298 0.1269 6200408 15. ga_current_user_is() /var/www/html/blog/wp-content/plugins/google-analyticator/google-analyticator.php:1116 0.1269 6200440 16. get_currentuserinfo() /var/www/html/blog/wp-content/plugins/google-analyticator/google-analyticator.php:1289 0.1269 6200664 17. _deprecated_function() /var/www/html/blog/wp-includes/pluggable-deprecated.php:49 0.1269 6201152 18. trigger_error() /var/www/html/blog/wp-includes/functions.php:3831

AndEngine スプライトを表示する

「困ったらネコを出せ」

 AndEngine勉強中。
 AndEngineExamplesのコードを読み始めました。

 前回、空っぽのアプリを作ったので、それをベースに画像(スプライト)を表示します。

blue_cat

 表示する画像は何でも良かったのですが、「困ったらネコを出せ」とゴースト的な何かが頭の中で囁くのでネコを描きました。ネコに見えない?勘弁してよ。
 高さと幅は64ピクセルの正方形画像です。このファイルは、以下のパスに入れておきます。

/assets/gfx/blue_cat.png

実行結果

 画面サイズ480×800のNexus Sのエミュレータです。
 画面中止よりやや右下にズレて表示されていますが、これについては後で説明します。

CatFaceSpriteActivity

コードの解説

[gist id=5927407]

CatFaceSpriteActivity クラス

 前回作ったMainActivityの名前を変えました。
 スプライトの格納先 ASSET_BASE_PATH と ファイル名 IMAGE_FILE_NAME を追加で定義しています。

onCreateEngineOptions()

 描画領域の設定を行います。前回から特に変更ありません。

onCreateResources()

 スプライトを読み込みます。

  • Line:35
     スプライトの保存位置を設定しています。
  • Line:37
     読込用のバッファを定義しています。第2, 3パラメータにてバッファのサイズを与えていますが、以下を守るよう使用してください。

    • 読み込む画像サイズと同じかそれ以上のサイズとする
    • 2のべき乗数とする。as
  • Line:37
     ファイル名を指定して読み込むスプライトを設定します。
  • Line:41
     設定したスプライトを読み込みます(描画はまだ)。
onCreateScene()

 描画します。
 前回は背景色を定義しただけでしたが、スプライトの描画処理を付け加えています。

  • Line:48
     第1、2パラメータでスプライトを描画する起点座標を与え、スプライトオブジェクトを生成しています。スプライトの左上の点(x:0, y:0)がこの起点とマッチします。
     今回は単純に高さと幅を2で割った値(中点)としています。このためスプライトが中点より右下寄りに表示されています(正確には、x軸y軸共に32ピクセル分ずれています)。
  • Line:50
     生成したスプライトを、Sceneに追加しています。

おわり

 各種メソッドの使い方についてまだ深くわかっていない点があります。勉強を続けます。
 次回はネコを動かします。ムービングネコです。

Related Posts

Comments are closed.