Вниз  C / C++
- 7.07.2015 / 10:17
Naik
  Пользователь

Naik 
Сейчас: Offline
Ксакеп, слишком много всего есть в языке, можно изучать бесконечно
- 23.07.2015 / 16:16
Addlient_Shaym
  Пользователь

Addlient_Shaym 
Сейчас: Offline
Ребят, такая проблема:
Пишу менюшку с помощью SFML, хочу сделать так чтоб при наведении курсора на надпись она меняла цвет.
Написал следующий код:
Открыть спойлер
Все работает, но медленно. Т.е. чтобы надпись сменила цвет нужно медленно навести курсор на нее.
В чем может быть проблема? Как ускорить проверку?
- 23.07.2015 / 17:25
NaruTrey
  Пользователь

NaruTrey 
Сейчас: Offline
Addlient_Shaym, проверь, твоя программа сколько FPS выдаёт. Если вдруг больше 60, то нужно настраивать вертикальную синхронизацию. Сам с SDL работаю, подсказать точнее не могу.
__________________
 Чёрные усы кричает этот свисть

Изменено NaruTrey (23.07 / 17:25) (всего 1 раз)
- 23.07.2015 / 18:06
StarTek
  Пользователь

StarTek 
Сейчас: Offline
Addlient_Shaym, ты постоянно в данном цикле все это делаешь - естественно тормозить будет. Проследить надо за MouseEvent или что то связанное с ней. И воспользуйся функцией intersects у объекта rect.
- 23.07.2015 / 21:53
Addlient_Shaym
  Пользователь

Addlient_Shaym 
Сейчас: Offline
StarTek, спасибо, теперь вроде не тормозит. Только вот возникла другая проблема, даже две:
1. Цикл while(window.pollEvent()) останавливает работу программы. Т.е. пока двигаешь мышкой - pollEvent возвращает true, в итоге цикл с обработкой эвентов работает, а последующая перерисовка не выполняется.
2. Перерисовка происходит при наведении на Rect, который находится в левом верхнем углу экрана, а не при наведении на сам текст.
Открыть спойлер

- 24.07.2015 / 10:30
StarTek
  Пользователь

StarTek 
Сейчас: Offline
Addlient_Shaym, 1ая проблема - какая то странная. Так не должно быть. А 2ую проблему не решить, разве что немного уменьшить rect.
- 24.07.2015 / 14:02
Addlient_Shaym
  Пользователь

Addlient_Shaym 
Сейчас: Offline
StarTek, В смысле "не должно быть"? Циклы window.isOpen и window.pollEvent должны выполняться одновременно? Тогда что я делаю не так?
А насчет второго - уменьшение Rect бессмысленно. Я имел в виду, что текст должен менять цвет при наведении на текст, а не на квадрат (который размерами равен размеру надписи и нужен только для отрисовки текста в середине окна). Или я что-то не так понял?

Изменено Addlient_Shaym (24.07 / 14:04) (всего 1 раз)
- 25.07.2015 / 14:07
StarTek
  Пользователь

StarTek 
Сейчас: Offline
1) Не должно быть. Так как на сайте sfml именно такой пример.
2) Все правильно понял ты. Значит, просто не поддерживается эта функция.
И ещё, почему ты выбрал именно c++. Java или python можно было бы брать.
- 25.07.2015 / 14:28
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Цитата StarTek:
И ещё, почему ты выбрал именно c++. Java или python можно было
в твоем вопросе уже есть ответ :gg:
- 25.07.2015 / 17:49
Naik
  Пользователь

Naik 
Сейчас: Offline
StarTek, или C++ + Qt
Наверх  Всего сообщений: 2777
Фильтровать сообщения
Поиск по теме
Файлы топика (111)