如何将精灵放置在另一个更大的精灵的中心?
问题描述:
我有一个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);
答
我创建了一个纸牌游戏,我用这种方法设置了一副牌:
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将在此搜索
在一张纸上绘图人员的中间继续(或直接在你的头脑),可以帮助你这些情况! – Paschalis