1

我有一个 80x80 的 PNG。

我有另一个适合 80x80 png 的 png。我不知道第二个 png 的确切宽度和高度是多少,但它会小于 80x80。

我有一种方法可以png.setPosition(x,y)用来设置 png 位置。我还有一个名为的方法getX()getY()它允许我们检索第二个 png 的尺寸。

我想做的是获得将第二个png放置在80x80 png的中心的x和y。

4

3 回答 3

4

首先,找到你的大精灵的中间。

midX = img1.getPositionX()+img1.getWidth()/2;
midY = img1.getPositionY()+img1.getHeight()/2;

然后,到该中间位置,删除第二张图像的一半尺寸:

midX-=img2.getWidth()/2;
midY-=img2.getHeight()/2;

并将该位置设置为小于 80x80 png

img2.setPosition(midX,midY);
于 2013-01-11T22:39:14.150 回答
1

我创建了一个纸牌游戏,并使用这种方法在牌组中设置了一张牌:

card.setPositionX(deck.getPositionX() + ((deck.getWidth() - card.getWidth()) / 2));
card.setPositionY(deck.getPositionY() + ((deck.getHeight() - card.getHeight()) / 2));
于 2013-01-11T22:48:41.670 回答
0

您可以将第二个图像附加到第一个(如果您使用 AndEngine 的 AnchorCenter 分支,坐标系从实体的左下角开始)

Image2 位置将参考 image1。所以你可以这样做:

image1.attachChild(image2);
image2.setPosition(image1.getWidth()/2, image1.getHeight()/2);

使用此解决方案,您可以移动 image1 并且 image2 将继续在 image1 的中间

于 2013-01-25T14:51:18.197 回答