Новые статьи ООП в примерах. Часть 4. Интерфейсы, повторное использованиеПродолжим наше изучение ООП. Давайте создадим сущность Меню и обернём её вокруг наших пунктов, то есть перенесём всё, что касается меню в отдельный класс Menu. Позиция курсора (int cursor), массив с пунктами меню (MenuItem[] items), отрисовка, обработка клавиш теперь будет в классе Menu. ![]() Вместо массива я добавил 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) ООП в примерах. Часть 1Недавно я пообещал написать что-нибудь про ООП. Честно сказать, тема довольно щекотливая, новичку без пяти капель не разобраться. Я не знал, с чего начать, поэтому решил просто начать, а дальше уже, по отзывам, буду решать в какую сторону делать упор. Итак, я не буду сразу парить вас нудной информацией о том, что такое ООП, где оно используется, зачем и т.д. Сразу открываем среду разработки и пишем код!! Пишем меню на Canvas. Вариант 1. Меню без ООП. ![]() Как видно, мы определили массив строк items для пунктов меню и числовое значение cursor для текущего выделенного элемента. При выборе пункта меню мы просто выводим Alert с текстом этого пункта, всё просто. - Ну и норм, без ООП справились, - подумаете вы. - Хорошо, а если нам надо Продолжить Рейтинг: 16 (За: 17 | Против: 1) Добавлено: 6.02.2014 от aNNiMON Комментарии (18) View со свободным скроллингомЧасто при создании игр требуется игровое поле, карта, или что-нибудь другое, что будет скролиться во всех направлениях. Для этого в разметке нужный View можно обернуть в контейнер ScrollView и одновременно HorizontalScrollView. Но при таком подходе скроллинг будет работать только в одном направлении, в зависимости от направления жеста (вверх-вниз или вправо-влево). В данной статье приведен пример готового виджета-заготовки, который скролится нормально в любом направлении, содержит скроллбары и поддерживает жест "бросок". Продолжить Рейтинг: 7 (За: 7 | Против: 0) Добавлено: 17.01.2014 от Naik Комментарии (4) |