1

私は80x80のPNGを持っています。

80x80pngの中に収まる別のpngがあります。2番目のpngの正確な幅と高さはわかりませんが、80x80より小さくなります。

png.setPosition(x,y)pngの位置を設定するために使用するメソッドがあります。また、というメソッドがgetX()ありgetY()、2番目のpngのディメンションを取得できるようになります。

私がやりたいのは、2番目のpngを80x80pngの中央に配置するxとyを取得することです。

4

3 に答える 3

4

まず、大きなスプライトの真ん中を見つけます。

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

次に、その中間位置に、2番目の画像の寸法の半分を削除します。

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

そして、その位置を80x80pngよりも小さい値に設定します

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

2番目の画像を最初の画像に添付できます(AndEngineのAnchorCenterブランチを使用している場合、座標系はエンティティの左下隅から始まります)

Image2の位置は、image1を基準にしています。だからあなたはすることができます:

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

このソリューションを使用すると、image1を移動でき、image2はimage1の途中で続行されます

于 2013-01-25T14:51:18.197 に答える