Для этого нам понадобится файл шрифта. Я взял ttf, хотя в движке есть возможность добавлять шрифты разных форматов.
Создадим в папке assets проекта папочку fonts. И забросим туда наш шрифт. В моем случае это некий Postmodern_One.ttf. Ну а дальше дописываем ф код то, что я тут выложил. На самом деле это почти полная копия туториала с движка. За одним исключением. При получении значений ФПС и прошедших секунд и выводе этого на экран - нифига не работало. До тех пор, пока я не поставил (int) в 31 и 32 строчках.
//.............
private ITexture mFontTexture;
private Font mFont;
//.............
protected void onCreateResources()
{
FontFactory.setAssetBasePath("fonts/");
this.mFontTexture = new BitmapTextureAtlas(this.getTextureManager(), 256, 256, TextureOptions.BILINEAR);
this.mFont = FontFactory.createFromAsset(this.getFontManager(), mFontTexture, this.getAssets(), "Postmodern_One.ttf", 16, true, Color.WHITE);
this.mFont.load();
//............
}
protected Scene onCreateScene()
{
//....................
Scene scene = new Scene();
//....................
final FPSCounter fpsCounter = new FPSCounter();
this.mEngine.registerUpdateHandler(fpsCounter);
// *** On-screen tech-info ***
final Text elapsedText = new Text(4,4 , this.mFont, "Seconds elapsed: XXXXX", "Seconds elapsed: XXXXX".length(), this.getVertexBufferObjectManager());
final Text fpsText = new Text(4,24, this.mFont, "FPS: XXXXX", "FPS: XXXXX".length(), this.getVertexBufferObjectManager());
scene.attachChild(elapsedText);
scene.attachChild(fpsText);
scene.registerUpdateHandler(new TimerHandler(1 / 2.0f, true, new ITimerCallback() {
//@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
elapsedText.setText("Seconds elapsed: " + (int)mEngine.getSecondsElapsedTotal());
fpsText.setText("FPS: " + (int)fpsCounter.getFPS());
}
}));
//......................
}
спасибо за подсказку про (int)fpsCounter.getFPS();
ОтветитьУдалитьа то ломал голову почему выводит мусор !
Всегда пожалуйста :)
УдалитьВ Ваших примерах всё хорошо, но мало исходников, новичку очень тяжело разобраться.
ОтветитьУдалитьИсходник:
https://www.dropbox.com/s/2nboa7tng1iz58r/RTYPE-grav_sensor%5BGLES2%5DBG%2BText.rar
Андрей Sapfil, этот блог нужен! И если Вы будете им заниматься очень скоро его смогут найти много людей.
ТО есть вы хотите видеть весь проект в текущем состоянии? Но к сожалению, часть проекта представляет собой, извините, "говнокод". Не то, чтобы он сильно страшный, но от идеала далековат. Если я буду еще и тратить время на постоянный рефакторинг - я никогда не закончу проект, а статьи буду писать раз в месяц или реже.
УдалитьХотя, с другой стороны, ничего не мешает выложить проект "AS IS". Если такой подход поможет, почему бы нет... Давайте заведу традицию выкладывать большой RAR в конце каждого поста, если людям так хочется на него посмотреть.
Я не думаю, что это сильно поможет новичку. Ведь если в проекте уже около 10 java-файлов - человеку со стороны довольно тяжко будет разобрать его по полочкам в своей голове.
А к ВАМ ЛИЧНО у меня просьба. Вы создаете впечатление сведущего человека. Скоро буду выкладывать пост про парсеры - там и выложу свой исходник полностью. Если не трудно - пробегитесь по нему и дайте пару рекомендаций - как навести порядок. Буду благодарен :)
К сожалению я совсем недавно изучаю программирование (около 1,5 месяца).
УдалитьПросто многие моменты в Ваших уроках приходится долго разбирать и искать решение в сети т.к. нет исходников.
Спасибо за Ваш труд.