1

私はこのコードを持っています:

score = new Text(20, 50, font, "0123456789.()abcdefghijklmnopqrstuvwxyz", vbom);

score.setText( ""); scene.attachChild(スコア);

私はインターネットで読んだのですが、Textの使用を開始する際には、使用されるすべての文字をリストする必要があります。

私のGalaxyS2(android 4.0.3)では、このコードは正しく機能しますが、妻のGalaxy S2(android 2.3.3)では、シーンでの結果は次のようになります。

0123456789.()nabcdefghijklmnopqrstuvwxyz

アンドロイド版の問題ですか?または多分私は何か間違ったことをしていますか?

編集:

score.setText("a");出力よりも代わりに使用する場合のもう1つの手がかりscore.setText(""); は「a」です

奇妙な振る舞い...

4

3 に答える 3

1

AndEngineのTextクラスは扱いにくいです。オブジェクトの作成後にテキストを変更する場合は、コンストラクターで文字列の長さを指定する必要があります(に注意して.length()ください)。

Text score = new Text(20, 50, font, "test", "test".length(), vbom);

このように使用する場合:

Text score = new Text(20, 50, font, "test", vbom);

そうすれば、使ってもテキストは変わらないと思いますsetText("foo");

于 2012-12-01T18:17:45.597 に答える
0

それは典型的な問題です。私のゲームでも同じ問題がありました。テキストを非表示にすることをお勧めします(または、後で必要に応じてテキストを切り離して添付します)。

于 2012-11-27T08:40:56.667 に答える
0

ゲームの遅延を避けるために使用する必要があります

mFont.prepareLetters("0123456789".toCharArray());

メモリを割り当て、文字をロードします。

于 2013-07-23T15:08:41.483 に答える