我正在尝试使用SDL,并且想知道如何在屏幕中央获取一个矩形。
例如,假设我有一个640x480的屏幕,我想要一个矩形,它的宽度和高度是这些分辨率的一半,位于屏幕中间。我知道会是:
SDL_Rect centerRect = { 640 / 4, 480 / 4, 640 / 2, 480 / 2 };
是否有一个公式允许我每次在中间放置任何宽度和高度的矩形?
注意:我不是要找到矩形中心点的坐标。只需要左上角的坐标,我必须经过的就是屏幕和矩形的宽度和高度。
答案 0 :(得分:5)
屏幕的原点是顶部/左侧。
屏幕中间:
xcenter = w / 2; ycenter = h/2;
左上点:
x = xcenter - (winrect.width()/2);
y = ycenter - (winrect.height()/2);
现在你只需将窗户放在那里。