Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Тут можно читать онлайн Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Питер, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование КПК и смартфонов на .NET Compact Framework
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2007
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-91180-270-7
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework краткое содержание

Программирование КПК и смартфонов на .NET Compact Framework - описание и краткое содержание, автор Александр Климов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?

Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.

Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)

Программирование КПК и смартфонов на .NET Compact Framework - читать книгу онлайн бесплатно, автор Александр Климов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Теперь картинка является частью сборки, и для распространения программы нам понадобится единственный исполняемый файл, в котором будут содержаться все необходимые изображения.

Использование встроенных ресурсов

При работе программы необходимо получить доступ к графическому файлу из ресурсов и вывести изображение на экран. Для этого сначала необходимо получить ссылку на сборку. Соответствующий код приведен в листинге 11.1.

Листинг 11.1

// Получим ссылку на сборку

System.Reflection.Assembly execAssem =

System.Reflection.Assembly.GetExecutingAssembly();

Метод System.Reflection.Assembly.GetExecutingAssemblyвозвращает сборку, из которой выполняется текущий код. Получив в программе ссылку на сборку, можно получить доступ к встроенным ресурсам, в том числе к изображению сыра. Метод GetManifestResourceStreamпозволяет извлекать указанный ресурс из сборки. Для этого нам надо указать имя файла и название пространства имен. В нашем случае это будет Bouncer.cheese.gif, как показано в листинге 11.2.

Листинг 11.2

///



/// Изображение сыра

///

private Image cheeseImage = null;

public Form1() {

InitializeComponent();

// Получим ссылку на сборку

System.Reflection.Assembly execAssem =

System.Reflection.Assembly.GetExecutingAssemblу();

// Получим доступ к картинке с сыром

cheeseImage = new System.Drawing.Bitmap(

execAssem.GetManifestResourceStream(@"Bouncer.cheese.gif");

}

Вывод картинки на экран

При запуске программа загружает из ресурсов картинку. Теперь надо вывести изображение на экран. Для этого нужно воспользоваться событием Paint, как показано в листинге 11.3.

Листинг 11.3

private void Form1_Paint(object sender, PaintEventArgs e) {

e.Graphics.DrawImage(cheeseImage, 0, 0);

}

После запуска программы в левом углу экрана будет отображен кусочек сыра (рис. 11.2).

Рис 112 Вывод изображения на экран Создание анимации Теперь нужно - фото 90

Рис. 11.2. Вывод изображения на экран

Создание анимации

Теперь нужно научиться перемещать объект по экрану. Если это делать достаточно быстро, то у пользователя создается ощущение непрерывного воспроизведения анимации. Для этого следует создать метод updatePositions, который позволит перемещать изображение. Пока ограничимся движением вниз и вправо. Соответствующий код приведен в листинге 11.4.

Листинг 11.4

///



/// Координата X для рисования сыра

///

private int cx = 0;

///



/// Координата Y для рисования сыра

///

private int cy = 0;

private void updatePositions() {

cx++;

cy++;

}

Переменные cxи cyсодержат текущие координаты кусочка сыра. Меняя значения этих координат, можно управлять расположением изображения на экране. Теперь нужно переписать код для события Form1_Paint, как это показано в листинге 11.5.

Листинг 11.5

private void Form1_Paint(object sender,

System.Windows.Forms.PaintEventArgs e) {

// Текущая позиция сыра

e.Graphics.DrawImage(cheeseImage, cx, cy);

}

Теперь при каждом вызове метода Paintпрограмма перерисовывает изображение сыра в указанном месте. Но программа должна самостоятельно перемещать изображение через определенные промежутки времени. Также нужно иметь возможность управлять скоростью перемещения картинки. Для этой задачи подойдет объект Timer. Соответствующий элемент нужно добавить на форму.

Следует помнить, что во время работы таймера смартфон не может использовать сберегающий энергорежим, так как устройство считает, что программа находится в активном состоянии, даже если она свернута. Это негативно влияет на работу аккумуляторов, сокращая срок работы без подзарядки. Поэтому нужно останавливать таймер, когда программа работает в фоновом режиме, и включать его снова при активации приложения.

Но вернемся к настройкам таймера. Интервал срабатывания таймера должен составлять 50 миллисекунд, а свойство Enabledдолжно получить значение False. Когда таймер будет включен, код в методе Tickбудет срабатывать 20 раз в секунду. При создании таймера нельзя для свойства Enableустанавливать значение True, так как метод timer1_Tickпопытается отобразить изображения до того, как они будут загружены. Включать таймер можно только тогда, когда все необходимые картинки будут загружены, иначе программа выдаст сообщение об ошибке. В нашем примере таймер активируется в конструкторе формы после загрузки изображения сыра, как это показано в листинге 11.6.

Листинг 11.6

public Form1() {

//

// Required for Windows Form Designer support.

//

InitializeComponent();

// Получим ссылку на сборку

System.Reflection.Assembly execAssem =

System.Reflection.Assembly.GetExecutingAssemblу();

// Получим доступ к картинке с сыром

cheeseImage = new System.Drawing.Bitmap

(execAssem.GetManifestResourceStream(@"Bouncer.cheese.gif"));

// Включаем таймер

this.timer1.Enabled = true;

}

Теперь при запуске программы конструктор загружает картинку и включает таймер.

Настало время создать код для события Tick. Система перерисовывает содержимое экрана только при определенных условиях. Мы можем заставить систему перерисовать экран при каждом изменении местоположения картинки с помощью метода Invalidate. Таким образом, через определенные промежутки времени приложение меняет координаты изображения и обновляет экран, чтобы пользователь увидел картинку на новом месте. Соответствующий код приведен в листинге 11.7.

Листинг 11.7

private void timer1_Tick(object sender, System.EventArgs e) {

updatePositions();

Invalidate();

}

После запуска программы кусочек сыра по диагонали переместится в правый нижний угол экрана. Когда изображение достигнет края экрана, оно продолжит свое движение и скроется. При движении изображение сыра немного мерцает, что очень раздражает всех пользователей. В дальнейшем этот недостаток будет исправлен.

Отражения

Нужно запрограммировать обработку отражений объекта от стенок. Для этого надо отслеживать текущую позицию объекта и направление движения. Когда объект достигнет края стенки, нужно изменить направление движения. Для начала упростим код программы, отвечающей за отражения. Пусть координаты объекта при движении увеличиваются на единицу, когда кусочек сыра движется вправо и вниз, и уменьшаются на единицу при движении влево и вверх. Новый код метода updatePositionsприведен в листинге 11.8.

Листинг 11.8

///



/// Направление движения по оси X

///

private bool goingRight = true;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Александр Климов читать все книги автора по порядку

Александр Климов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Программирование КПК и смартфонов на .NET Compact Framework отзывы


Отзывы читателей о книге Программирование КПК и смартфонов на .NET Compact Framework, автор: Александр Климов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x