Книга: Программирование КПК и смартфонов на .NET Compact Framework
Уничтожение томатов
Уничтожение томатов
К сожалению, в данный момент при столкновении сыра с помидорами ничего не происходит. Ситуацию надо исправить при помощи кода, добавленного в метод updatePosition
, который приведен в листинге 11.30.
Листинг 11.30
// Уничтожаем помидоры при столкновении с сыром
for (int i = 0; i < tomatoes.Length; i++) {
if (!tomatoes[i].visible) {
continue;
}
if (cheeseRectangle.IntersectsWith(tomatoes[i].rectangle)) {
// прячем томат
tomatoes[i].visible = false;
// отражаемся вниз
goingDown = true;
// только удаляем помидор
break;
}
}
Код выполняется, когда сыр двигается вверх. При этом проверяются позиции каждого помидора и куска сыра при помощи метода IntersectsWith
. Если произошло столкновение сыра с томатом, то томат делается невидимым, для чего свойству Visiblе
присваивается значение False
. При следующей перерисовке экрана этот томат не появится на экране. Сыр должен отскакивать от помидора, как от стенок или от батона.
- Начало работы
- Добавление изображения в программу
- Использование встроенных ресурсов
- Вывод картинки на экран
- Создание анимации
- Отражения
- Управление скоростью движения объекта
- Добавляем новый объект
- Устранение мерцания
- Хлеб — всему голова
- Обнаружение столкновений
- Столкновения батона и мяча
- Новые объекты
- Размещение помидоров
- Уничтожение томатов
- Счет игры
- Ведение счета
- Звуковые эффекты
- Дальнейшие улучшения
- И опять добавляем новые объекты
- Управление таблицей результатов
- Переключение между формами
- Отображение дочернего окна
- Получение имени игрока
- Хранение лучших результатов
- Улучшение графики
- Спрайты
- Надежное уничтожение данных
- Глава 5 Установка на уничтожение
- 10.4.6. Уничтожение других процессов
- Сколько конечных автоматов должно быть в приложении?
- Использование конечных автоматов в играх
- Создание и уничтожение сокетов
- 5.6 Команда zap: уничтожение процесса по имени
- 3.1.3. Уничтожение процесса
- 10.4.2. Наблюдение за уничтожением дочерних процессов
- 10.4.5. Уничтожение процессом самого себя
- Совет 7. При использовании контейнеров указателей, для которых вызывался оператор new, не забудьте вызвать delete для ук...
- Уничтожение полученного маршрута от отправителя