Russian Qt Forum
Сентябрь 30, 2024, 16:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перемещение и вращение QGraphicsItem  (Прочитано 2663 раз)
mr.zhelez
Гость
« : Май 19, 2013, 23:05 »

Пишу игру. Перемещаю игрока при помощи метода moveBy. Герой поворачивается за курсором:
Код:
hero_->setTransform(QTransform().translate(x, y).rotate(angle).translate(-x, -y));
Если герой стоит на месте, то поворот происходит нормально, но если двигать мышкой во время перемещения героя, то иногда происходят какие то сдвиги, рывки и другие странные вещи. Может я иду неправильным путем?
Записан
Hrundel
Гость
« Ответ #1 : Июнь 22, 2013, 18:14 »

Если твой герой должен ходить только в восьми направлениях (север. юг. запад. восток. северо-запад. северо-восток. юго-запад. юго-восток.)
то есть как в диабло или типа этого, то ты идешь в неправильном направлении. Если тебе нужно чтобы герой перемещался независимо от карты, то тогда ты вообще выбрал неправильную архитектуру и концепцию. В этом случае надо писать в 3D (OpenGL, DirectX)
Судя по вопросом можно понять, что ты любитель. А для любителя лучше всего писать первую игру в виде сверху. Уверяю тебя - сложностей будет не меньше. Улыбающийся
Удачи.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Июнь 22, 2013, 18:29 »

Пишу игру. Перемещаю игрока при помощи метода moveBy. Герой поворачивается за курсором:
Код:
hero_->setTransform(QTransform().translate(x, y).rotate(angle).translate(-x, -y));
Если герой стоит на месте, то поворот происходит нормально, но если двигать мышкой во время перемещения героя, то иногда происходят какие то сдвиги, рывки и другие странные вещи. Может я иду неправильным путем?
Эта трансформация предполагает что (x, y) - текущий центр героя (вероятно пупок), но не текузая позиция мышака
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 22.