Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework
- Название:Программирование КПК и смартфонов на .NET Compact Framework
- Автор:
- Жанр:
- Издательство:Питер
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-91180-270-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework краткое содержание
Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.
Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
// Выводим на экран кусочек сыра
g.DrawImage(
cheeseImage, // Image
cheeseRectangle, // Dest.rect
0, // srcX
0, // srcY
cheeseRectangle.Width, // srcWidth
cheeseRectangle.Height, // srcHeight
GraphicsUnit.Pixel, // srcUnit
transparentWhite); // ImageAttributes
В ранней версии игры вызывалась другая версия метода DrawImage. Теперь же задается прямоугольник и указывается прозрачный цвет. Чтобы прозрачность работала должным образом, сыр должен рисоваться на экране после отображения батона.
Итак, мы рисуем прозрачные области для батона, куска сыра и ветчины. Мы обошли вниманием помидоры, которые пока не перекрываются. Этот недостаток будет исправлен чуть позже. В качестве украшения надо добавить фоновую картинку в виде красочной скатерти (рис. 11.8).

Рис. 11.8. Фон для игры
Картинка должна иметь размер клиентской части экрана с белым пространством в верхней части для ведения счета.
Добавить фон не так уж и трудно. Вместо заливки экрана белым цветом в каждом кадре надо просто отрисовать этот узор. Следует объявить новую переменную backgroundImage
для картинки-фона, загрузить изображение из ресурсов и изменить код в методе Form1_Paint
, как показано в листинге 11.67.
///
/// Изображение, содержащее фон игры.
///
private Image backgroundImage = null;
// Получим изображение фона игры
backgroundImage = new System.Drawing.Bitmap(
execAssem.GetManifestResourceStream(@"Bouncer.tablecloth.gif"));
g.DrawImage(backgroundImage, 0, 0);
Код загружает картинку как ресурс. Программа теперь может использовать прозрачность для отображения томатов.
Программа неплохо работает в эмуляторе, но не очень хорошо на настоящем КПК, так как процесс рисования все еще имеет некоторые недочеты. Для их устранения следует применять спрайты.
Спрайты
Предыдущие версии программы выводили на экран каждое имеющееся изображение не самым лучшим образом. Скатерть, помидоры, хлеб, сыр и ветчина постоянно перерисовываются при обновлении экрана. Однако проще использовать экран в виде ряда слоев, как показано на рис. 11.9.

Рис. 11.9. Структура экрана
Нижний слой — это фоновая картинка. Этот слой рисуется один раз в начале загрузки программы. Библиотека спрайтов содержит класс Background
для работы с фоном.
Средний слой — это спрайты, которые неподвижны. Их не нужно постоянно перерисовывать. Они меняют свое состояние только при ударах кусочка сыра или при запуске нового уровня. За них отвечает класс BackSprite
.
Верхний слой — это спрайты, которые постоянно перемещаются по экрану. Они должны постоянно перерисовываться. Данные спрайты реализуются классом ForeSprite
.
Классы Background
, BackSprite
и ForeSprite
находятся в базовом классе Sprite
, который используется программой для хранения информации о картинках и их расположении на экране. Также библиотека содержит класс PlayField
, который поддерживает список спрайтов и управляет их видом на экране. Нам придется переписать почти весь код с учетом нового добавленного класса.
Основной движок игры просто управляет движением передних спрайтов, а также отслеживает состояние и позицию фоновых спрайтов. Данная версия библиотеки спрайтов немного отличается от прежней версии игры. Сыр теперь уничтожает томаты при движении вниз к нижней части экрана. Сыр может застрять позади линии томатов, набирая тем самым призовые очки. Автор игры автор Роб Майлз предлагает изучить применение спрайтов на примере другой игры, «Salad Rescue». Вам придется самостоятельно изучить эту игру.
Версия игры, использующая спрайты, располагается в папке BouncerSprite
, которая входит в состав материалов для книги, расположенных на сайте издательства «Питер».
Другие игры
Как уже говорилось ранее, в документации MSDN имеется множество примеров различных игр. Если вы проявите настойчивость, то самостоятельно найдете эти примеры и сможете разобрать их. Также стоит посетить сайт CodeProject, где по адресу www.codeproject.com/netcf/#Games расположился специальный подраздел, посвященный играм для .NET Compact Framework (рис. 11.10).

Рис. 11.10. Сайт CodeProject, посвященный играм для .NET Compact Framework
Глава 12
Связь
Инфракрасное соединение
Несмотря на растущую популярность Wi-Fi, Bluetooth и других беспроводных технологий, по-прежнему не сдает своих позиций и передача данных через инфракрасный порт. Например, все мы каждый день применяем инфракрасный порт при использовании дистанционного пульта телевизора! Вы можете использовать этот способ работы в своих приложениях для передачи разных типов данных.
Так как в этой технологии для передачи данных используется свет, то необходимо прямое соединение устройств, чтобы между ними не было препятствий. Несмотря на подобное ограничение, соединение через инфракрасный порт по-прежнему широко используется в цифровых камерах, КПК и ноутбуках. В этой главе будет показано, как использовать инфракрасный порт при помощи класса IrDAClient
, входящего в библиотеку классов .NET Compact Framework.
История и теория
Основанная в 1993 году как некоммерческая организация, Ассоциация инфракрасной передачи данных (Infrared Data Association, или сокращенно IrDA) является международной ассоциацией (www.irda.org), создающей и продвигающей стандарты инфракрасной связи, позволяющие пользователям соединять устройства для передачи данных. Стандарты Infrared Data Association поддерживают огромное число устройств. На данный момент существует несколько версий технологии IrDA, которые различаются скоростью передачи данных.
Протокол IrDA позволяет соединяться с другим устройством без проводов при помощи ИК-излучения. Порт IrDA позволяет устанавливать связь на расстоянии до 1-2 метров. Интерфейс IrDA предполагает малую мощность потребления, что позволяет создавать недорогую продукцию.
Класс IrDAClient
Практически все устройства под управлением Windows Mobile имеют встроенные инфракрасные порты. Библиотека .NET Compact Framework имеет в своем составе классы, позволяющие работать с инфракрасной связью.
Инфракрасная связь осуществляется между двумя устройствами по принципу «сервер-клиент». Устройство, работающее как сервер, предлагает другому компьютеру установить связь для передачи данных через инфракрасный порт. Для осуществления передачи необходимо передать идентификатор устройства и имя устройства. Клиент ждет вызова необходимой службы и откликается на ее запрос. В результате между двумя компьютерами устанавливается связь
Читать дальшеИнтервал:
Закладка: