我有一个 80x80 的 PNG。
我有另一个适合 80x80 png 的 png。我不知道第二个 png 的确切宽度和高度是多少,但它会小于 80x80。
我有一种方法可以png.setPosition(x,y)
用来设置 png 位置。我还有一个名为的方法getX()
,getY()
它允许我们检索第二个 png 的尺寸。
我想做的是获得将第二个png放置在80x80 png的中心的x和y。
首先,找到你的大精灵的中间。
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);
我创建了一个纸牌游戏,并使用这种方法在牌组中设置了一张牌:
card.setPositionX(deck.getPositionX() + ((deck.getWidth() - card.getWidth()) / 2));
card.setPositionY(deck.getPositionY() + ((deck.getHeight() - card.getHeight()) / 2));
您可以将第二个图像附加到第一个(如果您使用 AndEngine 的 AnchorCenter 分支,坐标系从实体的左下角开始)
Image2 位置将参考 image1。所以你可以这样做:
image1.attachChild(image2);
image2.setPosition(image1.getWidth()/2, image1.getHeight()/2);
使用此解决方案,您可以移动 image1 并且 image2 将继续在 image1 的中间