Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 13.06.2019
Сообщений: 15
WPF

Управление в игре

13.06.2019, 14:50. Показов 2617. Ответов 21

Студворк — интернет-сервис помощи студентам
Есть метод, который проверяет нажаты ли клавиши стрелочек. Как вызвать его в другом методе?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Move_Helicopter(KeyEventArgs e)
        {
            //если нажата стрелочка вверх, то координата центра вертолётика смещается вверх
            if (e.Key == Key.Up)
                helicoptercenter.Y --;
 
            //если нажата стрелочка вправо, то координата центра вертолётика смещается вправо
            if (e.Key == Key.Right)
                helicoptercenter.X ++;
 
            //если нажата стрелочка вниз, то координата центра вертолётика смещается вниз
            if (e.Key == Key.Down)
                helicoptercenter.Y ++;
 
            //если нажата стрелочка влево, то координата центра вертолётика смещается влево
            if (e.Key == Key.Left)
                helicoptercenter.X --;   
        }
Также, будет метод "hitboxes", проверяющая пересечение объёктов. Думаю сделать их вызов цикле

C#
1
2
3
4
while(hp_helicopter>0)
{
            //вызов методов "hitboxes" и "Move_Helicopter"
}
Также хотелось бы узнать: чтобы выйти из цикла, не прекращая его, нужно создавать второй поток, или есть какой-то другой вариант?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.06.2019, 14:50
Ответы с готовыми решениями:

Управление в игре
Подскажите пожалуйста скрипт для управления кубика 2x2 если можно использовать только crt & graph Добавлено через 15 минут 1x1...

Управление данными в игре
Здравствуйте! Интересует вопрос, как можно управлять большим объемом данных в играх: загрузка, поиск, редактирование и сохранение. ...

В игре не работает управление с клавиатуры
Добрый всем вечер. Подскажите, пожалуйста, в чем может быть проблема с управлением игрой, написанной в Графе, с клавиатуры? Отрисовка...

21
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.06.2019, 10:03
Студворк — интернет-сервис помощи студентам
Re_translator, у вас должен быть описан класс направления движения вертолета.
В событии keydown просто меняете его направление а в событии CompositionTarget.Rendering, которое будет циклически вызываться вы меняете положение вертолета в пространстве
0
0 / 0 / 0
Регистрация: 13.06.2019
Сообщений: 15
14.06.2019, 11:19  [ТС]
Рядовой, это игра типа Spase Invaders перемещаться вертолётик будет по экрану, т.е. мне нужно лишь менять его расположение на координатной плоскости. В вышеприведённом коде я дописал условие к Escape - оно работает:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
//если нажата клавиша Escape, то вызывается меню паузы
                case Key.Escape:
                    PauseMenu pause = new PauseMenu();
                    Timer.Stop();
                    if (pause.ShowDialog()==true)
                    {
 
                    }
                    else
                    {
                        Timer.Start();
                    }
                    break;
А события стрелочек нет. Мне порекомендовали переделать управление на WASD, тип из-за того, что стрелочки могут менять выбранный элемент, но управление WASD'ом тоже не работает.

Key_Down задал для всего окна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2019, 11:19

Реализовать управление движением в игре
Подскажите чайнику, с помощью каких классов, методов (java) реализовать в игре движение с помощью встроенного в Андроид джойстика (этот...

Не работает сенсорное управление в 2d игре
Делаю игру Bricks Breaker и у меня не работает скрипт для управления на экране телефона по сути этот скрипт должен управлять моей...

Как лучше настроить управление в 2D игре?
Всем привет, у меня возник вопрос как лучше настроить управление в игре через GetAxis или саморучно придавая объектам скорость как на...

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

Управление в игре "Змейка"
Доброго времени суток. Разрабатываю змейку на делфаче, образовалась такая проблема. У змейки есть, разумеется, управление, на пример WASD....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru