1 / 1 / 1
Регистрация: 22.10.2013
Сообщений: 42
1

Задержка нажатия клавиши

24.11.2013, 02:07. Показов 2208. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю игру при помощи библиотеки SFML.
Как сделать задержку нажатия клавиши пробел? У меня есть персонаж, при нажатии на пробел он стреляет, но стреляет бесконечно (если зажать пробел, то вобще полоса пуль сплошная идёт). Вобщем надо сделать так, чтобы можно было стрелять раз в 4 секунды, например. Всё рисуется через время.



Вот само условие
C++
1
2
3
if (Keyboard::isKeyPressed(Keyboard::Space)) {
                                        bullets.push_back(new Bullet(bul_texture, p.x, p.y, p.dir));                                        
                                    }

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

Хотелось бы сделать попроще. Нужна какая то задержка ввода пробела и всё. или задержка выполнения условия - "если нажат пробел, то.."

Добавлено через 30 секунд
Перенесите тему пожалуйста в c++ для начинающих.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2013, 02:07
Ответы с готовыми решениями:

Перехват нажатия клавиши PrintScreen
Всем добрый день! Столкнулся с такой проблемой, как перехват нажатия клавиши PrintScreen....

Получение нажатия клавиши из неактивного окна
Привет всем! Как можно получить нажатую клавишу, если окно приложения не активно?

Скомпилированная программа закрывается после нажатия клавиши
В общем такая проблема, написал прогу на c++ , скомпилировал, у меня всё работает...

После нажатия клавиши Enter или нажатия на Button
Помогите пожалуйста.:-[ Задача: После нажатия клавиши Enter или нажатия на Button поле курсора...

1
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
24.11.2013, 09:17 2
Создайте класс Bullet, который по мимо прочего хранит скорость пули, например 1ед.скорости за 10 сек, или 1 ед.скорости за 4.сек, далее ваш персонаж может как наследовать от класса пули(оружие), так и другие классы,
bullets.push_back(new Bullet(bul_texture, p.x, p.y, p.dir)); кроме того при следующих изменения вам нужно будет поправить только код отвечающий за пули.
0
24.11.2013, 09:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2013, 09:17
Помогаю со студенческими работами здесь

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

Побуквенный вывод слова через цикл + ожидания нажатия клавиши (после нажатия очистка и установка курсора на )
строку) Masm32 (com -программа) вообщем столкнулся с проблемой. к примеру ввожу ' LSD49 $'...

SDL и задержка движения персонажа при зажатии клавиши
Всем доброго времени суток. Изучаю библиотеку SDL и возникла такая проблема: при зажатии клавиши...

Обработка нажатия клавиши
Дело вот в чем, существует куча страниц в Silverlight, открываются они все на MainPage через...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru