C# Junior
3 / 2 / 1
Регистрация: 09.12.2018
Сообщений: 122
|
|
1 | |
Событие "Зажато ли окно"30.08.2020, 20:46. Показов 732. Ответов 5
Гуд дэй тайм.!
Возникла простая но критическая проблема, вызывающая много багов. Вообщем: когда окно не в полноэкранном режиме находится, его можно двигать держа его мышкой за голову. И вот во время этого процесса всё в окне SFML застывает. А после этого всё восстанавливается, но наперекосяк: солнце с орбиты слетает и всё в этом духе. Этот баг можно исправить просто обнулив deltaTime во время движения окна. Но как проверить - двигается оно или не двигается? Просто нужен Экспрешн для иф'а. Заранее спасибо!
0
|
30.08.2020, 20:46 | |
Ответы с готовыми решениями:
5
Кастомизированное окно на событие onbeforeunload Диалоговое окно: на какое событие повесить обработку? Как вернуть событие (клик) из DeskBand в основное окно? Не срабатывает событие при перетаскивании файла в окно приложения Какое событие позволяет понять, что над окном двигают другое окно |
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
30.08.2020, 21:23 | 2 |
Средствами sfml - никак.
Просто переведи игровую логику на фиксированный интервал времени. Или если дружишь с многопоточностью, то перенеси обработку событий(не буквально, а через буферную очередь), логику и рисование в отдельный поток. В основном потоке только оставь создание окна и пересылку событий.
0
|
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
30.08.2020, 21:24 | 3 |
Дело не в sfml - в Windows основной поток блокируется до завершения перетаскивания. Хотите чтобы не застывало - рисуйте в отдельном потоке.
0
|
C# Junior
3 / 2 / 1
Регистрация: 09.12.2018
Сообщений: 122
|
||||||
31.08.2020, 10:00 [ТС] | 5 | |||||
Хорошо, я подумаю.
Добавлено через 39 минут Тогда как мне запустить выполнение целого файла кода в отдельном потоке? Будет очень удобно если все файлы кода кроме Source.cpp будут исполнять отдельные потоки. (В каждом файле по несколько ifndef'ов и к ним привязаны define'ы с таким же именем. Добавлено через 8 минут
0
|
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
31.08.2020, 10:15 | 6 |
0
|
31.08.2020, 10:15 | |
31.08.2020, 10:15 | |
Помогаю со студенческими работами здесь
6
Как удалить из словаря именно то окно, для которого пришло событие 'closed'? Создать окно произвольного размера, скрыть окно, показать окно, удалить окно. Ошибка "Окно не может обработать событие, так как их сигнатуры несовместимы" Окно со статусбаром и кнопкой "Отмена". Как отследить событие нажатия кнопки? Событие "свернуть в окно" Используя иерархию и наследование, создать классы окно, окно с заголовком и окно с кнопкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |