SDL_Rect:在屏幕中心获取矩形的公式是什么?

时间:2014-08-25 07:51:57

标签: sdl

我正在尝试使用SDL,并且想知道如何在屏幕中央获取一个矩形。

例如,假设我有一个640x480的屏幕,我想要一个矩形,它的宽度和高度是这些分辨率的一半,位于屏幕中间。我知道会是:

SDL_Rect centerRect = { 640 / 4, 480 / 4, 640 / 2, 480 / 2 };

是否有一个公式允许我每次在中间放置任何宽度和高度的矩形?

注意:我不是要找到矩形中心点的坐标。只需要左上角的坐标,我必须经过的就是屏幕和矩形的宽度和高度。

1 个答案:

答案 0 :(得分:5)

屏幕的原点是顶部/左侧。
屏幕中间:

xcenter = w / 2; ycenter = h/2; 

左上点:

x = xcenter - (winrect.width()/2);
y = ycenter - (winrect.height()/2);

现在你只需将窗户放在那里。