如何将精灵放置在另一个更大的精灵的中心?

问题描述:

我有一个80x80的PNG。如何将精灵放置在另一个更大的精灵的中心?

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

我有一种方法,我使用png.setPosition(x,y)设置PNG位置。我也有一个叫getX()getY()的方法,可以让我们检索第二个PNG的尺寸。

我想要做的是得到x和y,将第二个PNG放在80x80 PNG的中心。

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

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

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

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

而且那个位置设置为您小于80×80的PNG

img2.setPosition(midX,midY); 
+0

在一张纸上绘图人员的中间继续(或直接在你的头脑),可以帮助你这些情况! – Paschalis

我创建了一个纸牌游戏,我用这种方法设置了一副牌:

card.setPositionX(deck.getPositionX() + ((deck.getWidth() - card.getWidth())/2)); 
card.setPositionY(deck.getPositionY() + ((deck.getHeight() - card.getHeight())/2)); 

您可以将第二图像连接到第一(如果您正在使用AndEngine的AnchorCenter分支,坐标系中的实体的左下角开始)

镜像2位置,将参照此搜索。所以,你可以这样做:

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

有了这个解决方案,您可以将图像1和图像2将在此搜索