Я пытаюсь построить RTS в C ++ с использованием SDL. Сейчас я пытаюсь сделать прямоугольник, который будет выбирать единицы (изменяемый размер поля выбора). Это будет прозрачный желтый прямоугольник.
Когда я запускаю программу и пытаюсь выбрать несколько модулей. Ничего не происходит (я имею в виду рисование прямоугольника. Выбор еще не сделан)
Это код (в main.cpp):
...
Uint32 selection_colour;
SDL_Rect box_rect;
int M1X = 0;
int M1Y = 0;
int M2X = 0;
int M2Y = 0;
int W;
int H;
...
void init()
{
...
selection_colour = SDL_MapRGBA(screen->format, 0xFF, 0xFF, 0, 0.3);
...
}
...
while(running)
{
while(SDL_PollEvent(&event))
{
if(event.type == SDL_MOUSEBUTTONDOWN)
{
if(event.button.button == SDL_BUTTON_LEFT)
{
M2X = event.motion.x;
M2Y = event.motion.y;
W = M2X - M1X;
H = M2Y - M1Y;
box_rect.x = M1X;
box_rect.y = M1Y;
box_rect.w = W;
box_rect.h = H;
}
}else
{
M1X = event.motion.x;
M1Y = event.motion.y;
}
}
SDL_FillRect(screen, &box_rect, selection_colour);
SDL_Flip(screen);
}
какие-либо предложения??
Задача ещё не решена.
Других решений пока нет …