![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
knf |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.11.2013 Пользователь №: 3984 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В общем такое дело.. Надо написать небольшую игру. В подробные правила думаю не надо писать, у меня есть несколько вопросов.
Играется на поле 4х4. С обеих сторон по 4 фишки. И вот первый вопрос) Где и как лучше нарисовать это поле? И как реализовать передвижение фишек по этому полю. С++ знаю, ООП знаю, знаком с Qt и системой сигналов и слотов и не только. Буду рад помощи |
|
|
Trisch |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Ну нарисовать можно можно в QGraphicsView (+ QGraphicsScene и QGraphicsItem) или при помощи QML.
Реализация передвижения, при помощи данных средств, тоже хорошо реализуется. |
|
|
knf |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.11.2013 Пользователь №: 3984 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Trisch |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
По идее, фишка должна иметь координаты. Поменял координаты фишка переместилась, вроде все.
|
|
|
knf |
![]()
Сообщение
#5
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.11.2013 Пользователь №: 3984 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Trisch, Нужны подробности
![]() |
|
|
Trisch |
![]()
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Я предполагаю у тебя фишки реализованы с помощью QGraphicsItem.
Определяешь новые координаты с помощью функции определения положения мыши или нажатия клавиш или еще как то. И в итоге задаешь новые координаты фишке с помощью setX() и setY(). А вообще, чтобы не тыкать пальцем в небо, можешь скинуть исходный код того что есть. |
|
|
knf |
![]()
Сообщение
#7
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.11.2013 Пользователь №: 3984 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я предполагаю у тебя фишки реализованы с помощью QGraphicsItem. Определяешь новые координаты с помощью функции определения положения мыши или нажатия клавиш или еще как то. И в итоге задаешь новые координаты фишке с помощью setX() и setY(). А вообще, чтобы не тыкать пальцем в небо, можешь скинуть исходный код того что есть.
ну в общем как то так я нарисовал Я предполагаю у тебя фишки реализованы с помощью QGraphicsItem. Определяешь новые координаты с помощью функции определения положения мыши или нажатия клавиш или еще как то. И в итоге задаешь новые координаты фишке с помощью setX() и setY(). А вообще, чтобы не тыкать пальцем в небо, можешь скинуть исходный код того что есть. Поле то не большое) |
|
|
knf |
![]()
Сообщение
#8
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.11.2013 Пользователь №: 3984 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Trisch, Ну так что?)
|
|
|
Trisch |
![]()
Сообщение
#9
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
ну, я же вроде написал.
устанавливаешь на поле фишку: QGraphicsEllipseItem *pEllipseItem; pEllipseItem = pScene->addEllipse(X, Y, R, R, QPen(Qt::red), QBrush(Qt::red)); И потом меняешь координаты: pEllipseItem->setX(X1); pEllipseItem->setY(Y1); Все. |
|
|
knf |
![]()
Сообщение
#10
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.11.2013 Пользователь №: 3984 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Trisch, Нарисовал фишки, установил флаг QGraphicsItem::ItemIsMovable. Как теперь ограничить перемещение фишек?Надо переопределить mousePressEvent?
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 7.5.2025, 20:48 |