Форум программистов, компьютерный форум, киберфорум
SFML
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 25.11.2011
Сообщений: 31
1

Создать проигрыш в игровой процесс

19.12.2017, 06:58. Просмотров 1424. Ответов 3
Метки нет (Все метки)


Создал я игру типа флаппи берд. При столкновении с трубой хочу создать паузу в игре, чтобы всё застыло. Затем вызвать Sprite с выбором(рестарт/выйти из игры). Со спрайтом еще можно справиться, но создать паузу я не смог.

и еще есть вторая проблема. Кнопка мыши зажимается несколько раз, даже если испольщовать события MouseReleased. Нужно, чтоб одно нажатие считывалось как одно нажатие, а не проверка того, зажата ли кнопка или нет. Можно ли такое реализовать в SFML?
0
Миниатюры
Создать проигрыш в игровой процесс  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2017, 06:58
Ответы с готовыми решениями:

Игровой процесс футбольного симулятора PES 2011
В Сети появилось свежее видео футбольного симулятора PES 2011. Сотрудники Konami показали отрывок...

Резко ускоряется игровой процесс в GTA Vice City
Меня этот глюк уже задолбал: после некоторого времени игры скорость игры резко увеличивается и при...

Проигрыш победителю
Здравствуйте! Помогите вычислить столбец Проигрыш победитедю

создать процесс
Здравствуйте. Интересует такой вопрос. Немного программировал на QT, там имеется возможность...

3
0 / 33 / 5
Регистрация: 01.12.2017
Сообщений: 687
26.02.2018, 12:56 2
Гриха, покажите пожалуйста код.
0
60 / 27 / 24
Регистрация: 28.09.2017
Сообщений: 399
03.03.2018, 21:10 3
Цитата Сообщение от Гриха Посмотреть сообщение
Со спрайтом еще можно справиться, но создать паузу я не смог.
Почему бы просто не обнулить скорость?
Цитата Сообщение от Гриха Посмотреть сообщение
Кнопка мыши зажимается несколько раз, даже если испольщовать события MouseReleased.
Насчет этого, можете попробовать вставить нужное условие с MouseRelesed-ом в цикл событий (pollEvent).
0
Всегда онлайн
1075 / 780 / 293
Регистрация: 07.04.2013
Сообщений: 2,686
03.03.2018, 22:43 4
Лучший ответ Сообщение было отмечено Гриха как решение

Решение

Цитата Сообщение от Гриха Посмотреть сообщение
Со спрайтом еще можно справиться, но создать паузу я не смог.
все зависит от реализации вашей игры, примерный псевдокод:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
bool gameOver = false;
 
void update() {
  if (gameOver) return; //если игра окончена, не обновлять игру, т.е. не двигать игрока
 
  if (pipesCollidedWithPlayer(player)) { //если игрок столкнулся с трубами, установить gameOver в true
    gameOver = true;
  }
 
  player.move(); //двигать игрока
}
//...в игровом цикле....
while (window.isOpen()) {
  sf::Event ev;
  while (window.pollEvent(ev)) {
    //обрабатываете события
  }
 
  update();
 
  window.clear(); 
  //рисуете игровые объекты
 
  if (gameOver) window.draw(gameOverSprite);
  window.display();
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2018, 22:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Создать процесс
Хотелось бы реализовать такую вещь - есть обычное оконное приложение, в нем по нажатию кнопки к...

Проигрыш и закольцовка MIDI в VB 6.0
Здравствуйте, Подскажите, пожалуйста, как проиграть и закольцевать MIDI-файл в VB6. Directmusic...

Проигрыш диапазона кадров
Добрый день всем! я новичок в АС и вопросы у меня весьма глупые) Подскажите как проигрывать не все...

Создать игровой объект
Программно в режиме редактора создаю пустой игровой обьект:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.