Название: Игровая мышь на Qt Отправлено: qtkoder777 от Февраль 21, 2018, 15:10 Можно ли сделать обработку мыши как в играх: мышь передвинулась, игрок повернулся - независимо от курсора.
В QMouseEvent не нашел таких свойств. Курсор в край экрана упёрся события больше не идут. Название: Re: Игровая мышь на Qt Отправлено: kai666_73 от Февраль 21, 2018, 17:01 Надо перекрыть
Код
И для соотв. объекта выполнить Код
Название: Re: Игровая мышь на Qt Отправлено: qtkoder777 от Февраль 21, 2018, 17:53 Надо перекрыть Код
И для соотв. объекта выполнить Код
Так и сделано, но mouseMoveEvent не стреляет когда мыш на краю Название: Re: Игровая мышь на Qt Отправлено: kai666_73 от Февраль 22, 2018, 11:00 Не совсем понимаю какое поведение нужно реализовать. Но возможно, поможет перекрытие методов
Код
Если же нужно отслеживать события перемещения мыши за пределами виджета, то следует использовать методы Код
Название: Re: Игровая мышь на Qt Отправлено: Igors от Февраль 22, 2018, 12:15 Курсор в край экрана упёрся события больше не идут. Намучился с этой проблемой, в конце-концов сделал так: скрыть курсор мыши и поместить его в центр экрана. Тогда "запас хода" получается хорошим.. Правда при этом бывает потеря след события (так и не добил) Название: Re: Игровая мышь на Qt Отправлено: Dimas от Февраль 22, 2018, 20:04 Я когда-то подобную задачу решал для трекбола. Когда, вращением трекбола задавалась угловая скорость перемещения телекамеры. Тоже курсор упирался в край. Я решил просто. Когда курсор упирался в край экрана передвигал курсор в противоположную сторону экрана, получалось циклическое движение курсора, а курсор естественно делал невидимым на время работы режима управления камерой.
Название: Re: Игровая мышь на Qt Отправлено: Bepec от Март 04, 2018, 10:13 QMouseEvent и прочие - это события окна о передвижении курсора.
Обычно в играх либо курсор перебрасывается( как предложил Dimas), либо заякоривается(после каждого передвижения вызывается moveCursor(centerWindow)), либо идёт прямая обработка данных с устройства ( типа directinput, там нет координат, там просто "передвинулся туда на столько то"). |