AndEngineの文字表示方法いろいろ

2013年7月25日木曜日

andEngine メモ

t f B! P L
文字表示方法はたぶん基本的には三種類

1、標準フォントを使用
2、ビットマップフォントを使用
3、カスタムフォントを使用

手間的にも、見た目的にも3のカスタムフォントが一番いいです
AndEngine本には1と2しか書いてない。なんでだろう?


1、標準フォントを使用

AndEngineExampleのSS①

AndEngine本よりも短い記述でかけるようなので、使い方メモ
利点は素材を用意する必要がないこと。あとは、(もしかしたら)処理が早い

Font font = FontFactory.create(this.getFontManager(), this.getTextureManager(), 256, 256, Typeface.create(Typeface.DEFAULT, Typeface.BOLD), 32);
font.load();

シーンクラスを作ってその中で使うとき(AndEngine本のテンプレを使うときとか)はthisの部分をgetBaseActivity()に変えてください。


2、ビットマップフォントを使用

AndEngineExampleのSS②

これめんどくさいんだよね・・・まずビットマップフォントのデータがあんまり手に入らないし
作るなら「BMFont」ってソフト使うのがいいと思います。書き出したファイルをちょこっと編集しなきゃいけないけども。詳しくはこちらの方のブログ記事を参照

で、fntファイルとpngファイルを作ったら、assetsフォルダにfontってフォルダを作って中に入れます
使い方は割愛、たぶん使わないので。



3、カスタムフォントを使用

AndEngineExampleのSS③

これが簡単で綺麗だから一番好きです。
まず、フリーのttfファイルを見つけてきましょう。ネットで「ttf フリー」とかで調べれば沢山出てきます。
で、ttfファイルをassetsフォルダの中のfontフォルダに入れましょう
ここでは「Droid.ttf」というフォントを使ったとしましょう。

final ITexture droidFontTexture = new BitmapTextureAtlas(this.getTextureManager(), 256, 256, TextureOptions.BILINEAR);
Font mDroidFont = FontFactory.createFromAsset(this.getFontManager(), droidFontTexture, this.getAssets(), "font/Droid.ttf", FONT_SIZE, true, Color.BLACK);
mDroidFont.load();

シーンクラスを作ってその中で使うとき(AndEngine本のテンプレを使うときとか)はthisの部分をgetBaseActivity()に変えてください。


ちょっと注意なのが、最後の引数のColor.BLACKってところが有りますが、これが曲者で
AndEngineのColorクラス(org.andengine.util.color.Color)ではなく、Androidの方のColorクラス(android.graphics.Color)なのです・・・なんてことを・・・
なので、AndEngineの方のColorクラスを絶対に使う必要がある場合は色コードの数字を直接入れるしかありません。

いくつか例をあげると
黒:-16777216
白:-1
赤:-65536
青:-16776961
黄:-256


おまけ、ストロークフォントを使用

ほかにストロークフォントっていうのがあって、これも素材ファイル無しで使える
AndEngineExampleのSS④

詳細は略

Translate

このブログを検索

  • ()
  • ()
もっと見る

QooQ