Статьи, которые добавил aNNiMON: Дизайн API библиотекиНа написание данной статьи меня натолкнула библиотека EasyCamera, которая упрощает сложный вызов Android Camera API (статья о ней). Часто приходится сталкиваться с тем, что для работы той или иной библиотеки необходимо прочитать документацию или поискать подробные примеры её использования. Например, чтобы заставить ту же Android Camera API показать экран видоискателя, нужно вызвать сначала метод setPreviewDisplay(holder), а затем уже startPreview(). Это не всегда очевидно и не очень удобно. Поэтому при проектировании библиотеки следует учитывать некоторые параметры, а именно: 1. Классы и методы должны быть понятны пользователю (в данном случае пользователем Продолжить Рейтинг: 4 (За: 5 | Против: 1) Добавлено: 6.04.2014 от aNNiMON Комментарии (16) Быстрое создание 2D ландшафтаПри написании некоторых игр возникает необходимость создать холмистый ландшафт. Есть множество различных алгоритмов таких как, например, разбиение пополам: берётся прямая линия на всю ширину игровой области, затем берётся середина этой линии и поднимается или опускается на некоторую величину. Затем полученные две линии снова делятся пополам и изменяются на некоторую величину в центральной точке и так до тех пор, пока размер разделённой пополам линии не достигнет какого-то предела, обычно в один пиксель. Но есть и более простой и быстрый способ генерирования 2D ландшафта. Создаём массив размером с ширину игровой области. int[] blockHeights = new int[width]; Определяем максимальную высоту, чтобы земля не вышла за пределы экрана. int maxHeight = height / 2; Рассчитываем Продолжить Рейтинг: 11 (За: 11 | Против: 0) Добавлено: 15.03.2014 от aNNiMON Комментарии (11) ООП в примерах. Часть 4. Интерфейсы, повторное использованиеПродолжим наше изучение ООП. Давайте создадим сущность Меню и обернём её вокруг наших пунктов, то есть перенесём всё, что касается меню в отдельный класс Menu. Позиция курсора (int cursor), массив с пунктами меню (MenuItem[] items), отрисовка, обработка клавиш теперь будет в классе Menu. Menu.java Вместо массива я добавил Vector, чтобы можно было динамически добавлять элементы. Теперь класс Canvas будет ещё проще:
Продолжить Рейтинг: 6 (За: 7 | Против: 1) Добавлено: 7.02.2014 от aNNiMON Комментарии (24) ООП в примерах. Часть 3. Переопределение методов, уровни абстракцииПункт меню должен рисоваться на экране. Так почему бы нам не добавить метод отрисовки сразу в класс MenuItem и в его классы-потомки? Передадим этому методу все нужные нам параметры и будем рисовать.
Продолжить Рейтинг: 8 (За: 9 | Против: 1) Добавлено: 6.02.2014 от aNNiMON Комментарии (23) ООП в примерах. Часть 2. НаследованиеПродолжаем осваивать ООП. Разберёмся с наследованием. Наследование позволяет взять доступные свойства родительского (базового) класса и использовать их в производных (потомках). Сразу пример. Вернём наш класс пункта меню в первоначальный вид:
Продолжить Рейтинг: 5 (За: 6 | Против: 1) Добавлено: 6.02.2014 от aNNiMON Комментарии (0) Всего: 109 Категории
|