Новые статьи

Long Flight: The history of development

GameDev

Сожмите протон до одной миллиардной его размера и упакуйте в это пространство столовую ложку вещества.

     Long Flight - конкурсная игра, опубликованная в начале 2015 года. В данной статье будет описан процесс разработки. Целью является поделится личным опытом.

Как всё началось     Всё началось больше года назад, с первой программы, написанной мной на MIDlet Pascal. Всё что она собой представляла - это множество белых точек на абсолютно чёрном фоне. Тогда это было весьма трудно назвать космосом, но уже было нечто похожее: так называемые звёзды циклически падали вниз.
screenshot0.png     Тогда, в принципе, всё было идеально: я
Продолжить

Рейтинг:  5  (За: 11 | Против: 6)
Добавлено: 20.01.2015 от Kalter

Комментарии (44)

Размеры текста в канвасе

Android  canvas


Если вы рисуете графику прямо в Canvas'е, то рано или поздно вам захочется выводить на экран и текст. Для этого вам нужно знать, как он будет располагаться, соответственно потребуется рассчитать его ширину/высоту для выравнивания и прочих эффектных штук.



Недавно в своём приложении мне также понадобилось вертикальное и горизонтальное центрирование. Поэтому я начал со следующего кода:

  1. Paint mTextPaint = new Paint();
  2. mTextPaint.setTextAlign(Paint.Align.CENTER);  // Включим центрирование
  3.  
  4. // И когда происходит отрисовка...
  5. canvas.drawText(mText,
  6.         mBounds.centerX(),  // mBounds — некая область канваса
  7.         mBounds.centerY(),  // X, Y — центр области

Продолжить

Рейтинг:  4  (За: 4 | Против: 0)
Добавлено: 19.01.2015 от Ксакеп

Комментарии (5)

Java 8 в Android со Stream API и лямбдами

Android  retrolambda, stream api, java 8

Как вы знаете, Android основан на Java 6. Google не спешит добавлять поддержку новых версий Java, поэтому приходится мечтать даже об использовании try-with-resources, multi-catch из Java 7, не говоря уже о Lambda Expressions и Stream API.
   Но если чего-то сильно захотеть, то никакие преграды не остановят, ведь так? Если мы не можем запустить код из Java 8 в Android-приложениях, то почему бы не преобразовать его в Java 6 совместимый? Именно это и делает проект Retrolambda финского разработчика Esko Luontola.


Retrolambda
   На странице проекта есть описание и короткое видео, демонстрирующее, как работает преобразование.
Вкратце, Retrolambda анализирует байт-код скомпилированных классов, ищет вызовы лямбда-выражений,
Продолжить

Рейтинг:  9  (За: 10 | Против: 1)
Добавлено: 9.01.2015 от aNNiMON

Комментарии (25)

Как эффективно учиться

Прочее  перевод

Я убеждён, что столь большая разница между хорошими студентами и плохими объясняется наличием привычек учиться. Большинство студентов ничего о них не знает, и как следствие, имеет низкую успеваемость, а преподаватели просто неспособны привить хорошие навыки в учёбе.

Обучение пропорционально усилиям
Вам кажется, что если вы сидите в аудитории, слушаете очередную лекцию, или, например, читаете новую главу в книге, то вы учитесь. Такой тип обучения является пассивным, а потому неэффективен. Что ещё хуже — у вас создаётся ложное впечатление, будто бы вы изучили материал. Вы можете прослушать курс лекций по квантовой механике, после чего вы познакомитесь с тематикой, некоторой терминологией но... на этом всё.

Будет лучше, если вы станете постоянно стимулировать
Продолжить

Рейтинг:  18  (За: 18 | Против: 0)
Добавлено: 1.01.2015 от Ксакеп

Комментарии (11)

Mockito и Behavior Driven Development

Java  test, bdd

Когда разработчик только начинает изучать принципы тестирования, он, как правило, знакомится в первую очередь с тестированием, основывающемся на проверке данных. То есть, чтобы протестировать функцию сложения чисел разработчик пишет, например, такой тест: “Заданы числа 2 и 3, в качестве результата ожидается 5”, и по тому, выполнилось ли это утверждение или нет, он делает вывод о верной или неверной реализации тестируемой функции.
Такой подход хорошо работает, когда код достаточно прост, результат предсказуем, и его проверка не займёт относительно много времени. Но на практике часто функции сложные, тяжело покрыть тестами каждый возможный исход, либо подготовка исходных или проверка конечных данных для теста занимает много времени. Можно, конечно, подумать: “Это сложно тестировать
Продолжить

Рейтинг:  8  (За: 8 | Против: 0)
Добавлено: 20.12.2014 от Freddy

Комментарии (32)
<< 1 ... 34 35 36 37 38 ... 49 >>

Мы в соцсетях

tw tg yt gt