以三个不同大小的矩形为中心

时间:2014-01-17 09:11:37

标签: math graphics

如果我有3个不同的精灵,每个精灵属于同一个精灵但具有不同的动画类型。每个在精灵表中都有不同的宽度和高度。

如何使用数学调整3,使它们居中,并相互重叠,以便在我可以更改动画时,所有动画相互重叠。我想得到每个精灵的x,y,结果它们都具有相同的位置。

1 个答案:

答案 0 :(得分:0)

这是一些伪代码。翻译成您的首选语言。

Let wi and hi be width and height of ith image, i = 1, 2, 3.
Let (x1, y1), ..., (x3, y3) be the coordinates of the top left corner of each image.

    wmax = max(w1, w2, w3)
    hmax = max(h1, h2, h3)

        x1 = round((wmax - w1) / 2)  // Depending on your language and your purposes, floor or ceil.    
        y1 = round((hmax - h1) / 2)  // Similar comment as x

    // Similarly for (x2, y2) and (x3, y3)

    // Add offset if necessary

    Let (x0, y0) be offset to add to top left corner of image.

    (xi, yi) = (xi + x0, yi + y0)