Книга: Программирование КПК и смартфонов на .NET Compact Framework
Отражения
Отражения
Нужно запрограммировать обработку отражений объекта от стенок. Для этого надо отслеживать текущую позицию объекта и направление движения. Когда объект достигнет края стенки, нужно изменить направление движения. Для начала упростим код программы, отвечающей за отражения. Пусть координаты объекта при движении увеличиваются на единицу, когда кусочек сыра движется вправо и вниз, и уменьшаются на единицу при движении влево и вверх. Новый код метода updatePositions
приведен в листинге 11.8.
Листинг 11.8
/// <summary>
/// Направление движения по оси X
/// </summary>
private bool goingRight = true;
/// <summary>
/// Направление движения по оси Y
/// </summary>
private bool goingDown = true;
private void updatePositions() {
if (goingRight) {
cx++;
} else {
cx--;
}
if ((cx + cheeseImage.Width) >= this.Width) {
goingRight = false;
}
if (cx <= 0) {
goingRight = true;
}
if (goingDown) {
cy++;
} else {
cy--;
}
if ((cy + cheeseImage.Height ) >= this.Height) {
goingDown = false;
}
if (cy <= 0) {
goingDown = true;
}
}
Обратите внимание на то, что в коде используются ширина и высота изображения и экрана. Не прописывая жестко величины размеров экрана и изображения, мы можем быть уверенными в том, что программа будет работать корректно в устройствах с любыми разрешением экрана и размерами картинки.
После запуска приложения можно увидеть, что изображение сыра корректно отражается от краев экрана при перемещении.
- Начало работы
- Добавление изображения в программу
- Использование встроенных ресурсов
- Вывод картинки на экран
- Создание анимации
- Отражения
- Управление скоростью движения объекта
- Добавляем новый объект
- Устранение мерцания
- Хлеб — всему голова
- Обнаружение столкновений
- Столкновения батона и мяча
- Новые объекты
- Размещение помидоров
- Уничтожение томатов
- Счет игры
- Ведение счета
- Звуковые эффекты
- Дальнейшие улучшения
- И опять добавляем новые объекты
- Управление таблицей результатов
- Переключение между формами
- Отображение дочернего окна
- Получение имени игрока
- Хранение лучших результатов
- Улучшение графики
- Спрайты
- Публичные сервисы закладок как инструмент отражения информационного нападения
- Инструменты поиска информации в Интернете, полезные для успешного отражения информационного нападения
- Требования к информации, которая будет распространяться в ходе отражения информационного нападения
- Комментарии в блогах как инструмент отражения информационного нападения
- 1.4. Динамические аспекты Ruby
- Другие блоговые площадки
- Декларативная безопасность
- Работа с информацией
- Маркетинговая воронка
- Инструменты раскрутки блога
- Предисловие
- Введение