Для этого нам понадобится файл шрифта. Я взял 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 месяца).
УдалитьПросто многие моменты в Ваших уроках приходится долго разбирать и искать решение в сети т.к. нет исходников.
Спасибо за Ваш труд.