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