работа с окнами sfml и несколькими событиями, передача управления с одного окна на другое для обработки других событий
у меня есть следующая проблема. Пишу курсовую работу, поэтому прошу ответить как можно более понятно потому, что, к сожалению, времени нет. Я создал два окна первое окно это меню там есть три фигуры и при нажатие на них должно передаваться управление на другое окно то, есть нарисовать фигуру в зависимости от той кнопке на какую нажато было. Это у меня работает но частично так как в действительности создается фигура но не получается выбрать позицию на окне для создания его не в произвольном месте( проблема в том, что не получается задать новые координаты создания; как это сделать?) код прикладываю.
class GameCore
{
Event ev;
Event eva;
Menu menu;
SetElemCircle elemCircle;
SetElemRectangle elemRectangle;
SetElemEllipse elemEllipse;
unsigned int amount_of_elements = 4;
unsigned int quantity_сircle = 5;
//SetElement vec;
RenderWindow* win;
RenderWindow* winMenu;
vector <SelectableCircle*> circles;
vector <SelectableRectangle*> rectangles;
vector <SelectableEllipse*> ellipses;
void update();
void draw();
//void drawMenu();
public:
void start();
GameCore(int w, int h);
GameCore();
~GameCore();
};
void GameCore::update()
{
int i = 0;
while (winMenu->pollEvent(ev) ) {
if (ev.type == Event::Closed)
winMenu->close();
menu;
/*создание на правую кнопку мыши*/
if (menu.circleMenu->isPointInside(Vector2f(ev.mouseButton.x, ev.mouseButton.y)))
{
if (ev.type == Event::MouseButtonPressed && ev.mouseButton.button == Mouse::Right)
{
circles.push_back(new SelectableCircle(ev.mouseButton.x, ev.mouseButton.y));
}
}
//аналогично для других фигур
void GameCore::start()
{
Clock clc;
while (winMenu->isOpen() ) {
//int elapsed = clc.restart().asMilliseconds();
//update(elapsed);
update();
draw();
menu.drawMenu(winMenu);
}
class Menu
{
public:
SelectableCircle* circleMenu;
SelectableRectangle* rectangleMenu;
SelectableEllipse* ellipseMenu;
//RectangleShape rectangleMenu;
//CircleShape circleMenu;
//EllipseShape ellipseMenu;
public:
Menu();
void drawMenu(RenderWindow* winMenu);
~Menu();
};
Menu::Menu()
{
rectangleMenu = new SelectableRectangle(150, 70);
rectangleMenu->color();
circleMenu = new SelectableCircle(400, 130);
circleMenu->color();
ellipseMenu = new SelectableEllipse(600, 100);
ellipseMenu->color();
}
Надергал куски программы из хедер файлов ( один класс = хедер файл), в main GameCore создается
!там где съехал прямоугольник в угол это как раз там где должны создаваться фигуры]1 извините, что без знаков препинания - спешу.