Хлеб — всему голова
Хлеб — всему голова
Наша программа должна уметь перемещать батон хлеба таким образом, чтобы игрок мог отбивать кусок сыра, как будто играя им в теннис. Для этой цели игрок будет использовать клавиши навигации на телефоне. Чтобы управлять батоном хлеба, придется использовать события KeyDown и KeyUp. Событие KeyDown наступает, когда пользователь нажимает на заданную кнопку. Событие KeyUp инициируется при отпускании кнопки.
Необходимо установить флаг, который будет отслеживать нажатия и отпускания клавиш. Когда флаг будет активирован, это будет означать, что пользователь нажал на клавишу, и батон должен двигаться в указанном направлении. Когда пользователь отпустит клавишу, то флаг сбрасывается и объект прекращает движение.
Обработчики событий используют перечисления Keys, показывающие конкретные кнопки навигации. Соответствующий код приведен в листинге 11.15.
Листинг 11.15
/// <summary>
/// Используем keyArgs в качестве флага
/// </summary>
private System.Windows.Forms.KeyEventArgs keyArgs = null;
private void Form1_KeyDown(object sender,
System.Windows.Forms.KeyEventArgs e) {
keyArgs = e;
}
private void Form1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e) {
keyArgs = null;
}
Когда программа получает вызов события Form1_KeyDown, флаг keyArgs ссылается на класс KeyEventArgs. При наступлении события Form1_KeyUp флаг keyArgs сбрасывается в null, и код нажатых клавиш игнорируется. Теперь надо переписать метод updatePositions, как показано в листинге 11.16.
Листинг 11.16
private void updatePositions() {
// Код для кусочка сыра остался прежним
...
// Для батона хлеба
if (keyArgs != null) {
switch (keyArgs.KeyCode) {
case Keys.Up:
by-=ySpeed;
break;
case Keys.Down:
by+=ySpeed;
break;
case Keys.Left:
bx-=xSpeed;
break;
case Keys.Right:
bx+=xSpeed;
break;
}
}
}
В данном коде используется оператор switch, который определяет действия программы в зависимости от нажатой клавиши. Батон хлеба движется с той же скоростью, что и кусочек сыра. На этой стадии при запуске программы пользователь может перемещать батон хлеба по всему экрану, в то время как кусочек сыра по-прежнему самостоятельно двигается по экрану.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Не верь всему, что пишут в Интернете
Не верь всему, что пишут в Интернете Помните, как мы с вами создавали страничку в «Одноклассниках»? Я ещё там зарегистрировалась как Маша Иванова. А ведь я на самом деле Люба Вирясова (Левина). Я специально привела такой пример, чтоб сказать: «Не верь всему, что пишут в
Одна голова или много?
Одна голова или много? Bell была права по крайней мере в одном: Hush-A-Phone отнюдь не пользовался бешеным спросом, и вряд ли можно было сказать, что он набирает популярность. Чтобы понять такую резкую реакцию AT&T и не считать ее невротической, нам нужно увидеть за скромным
Почему Skype широко известен по всему миру
Почему Skype широко известен по всему миру Skype появился очень давно по сравнению с другими программами голосового общения и долгое время вообще не знал себе конкурентов. Благодаря обильной рекламе, в которую была вложена кругленькая сумма денег, о Skype быстро узнали и
4. Одна голова хорошо, а две — лучше
4. Одна голова хорошо, а две — лучше РезюмеРегулярно просматривайте код всей командой. Чем больше глаз — тем выше качество кода. Покажите ваш код другим и познакомьтесь с их кодом — это принесет пользу всем.ОбсуждениеРегулярное рецензирование кода другими членами
ФМ-ВЕЩАНИЕ: Голова священной коровы
ФМ-ВЕЩАНИЕ: Голова священной коровы Авторы: Феликс Мучник, Дмитрий Харченко«Что нам стоит дом построить?..» На этот сакраментальный вопрос разработчики программного обеспечения до сих пор не знают ответа, так как «знал бы прикуп, был бы Б.Г.».Если хотя бы с первой частью
Софтерра: По секрету всему свету
Софтерра: По секрету всему свету Перелистывание альбома с фотокарточками в кругу семьи постепенно отходит в область преданий. Богатые возможности цифрового фото позволяют запечатлеть любой момент нашей жизни. Цифровые снимки не желтеют со временем, для их размножения
Xbox 360: голова кругом
Xbox 360: голова кругом Свершилось: 22 ноября игровая консоль Xbox 360 поступила в продажу на территории США. В тысячи магазинов по всей стране, распахнувших двери в полночь или рано утром, выстраивались огромные очереди, а официальную вечеринку Xbox 360 Zero Hour, прошедшую в городке
Дмитрий Шабанов: Блуждание глазами по всему небу Дмитрий Шабанов
Дмитрий Шабанов: Блуждание глазами по всему небу Дмитрий Шабанов Опубликовано 23 августа 2011 года Ибо весьма часто случается, что даже и нехристианин знает кое-что о земле, небе и остальных элементах видимого мира, о движении и обращении, даже
Магазины Zune Marketplace появятся по всему миру Михаил Карпов
Магазины Zune Marketplace появятся по всему миру Михаил Карпов ОпубликованоМихаил Карпов Компания Microsoft объявила о том, что сервис Zune, с помощью которого фирма продаёт музыку и видео, откроется и в Европе, а также в некоторых других странах. До недавнего
Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру Евгений Золотов
Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру Евгений Золотов Опубликовано 15 августа 2013 Если не бояться метафизических аналогий, программное обеспечение можно представить как длинный-длинный рычаг: крохотная команда