如何在屏幕AndEngine的特定部分添加精灵

时间:2011-11-07 03:59:22

标签: android andengine

我使用此方法随机向屏幕添加Sprite。

 private void addFace() {
     Random rand = new Random();

        float x = (int) mCamera.getHeight() + mBallTextureRegion.getHeight();
        float minY = mBallTextureRegion.getHeight();
        float maxY = (int)(mCamera.getWidth() - mBallTextureRegion.getWidth());
        float rangeY = maxY - minY;
        float y = rand.nextInt((int)rangeY) + minY;

     this.mFaceCount++;
     Log.e("Faces: ", "Face" + this.mFaceCount);

    Sprite face = null;
     Body body = null;

唯一的问题是我希望将精灵添加到屏幕顶部(即相机),而是将它们添加到屏幕的一侧。

有关如何执行此操作的任何建议吗?

2 个答案:

答案 0 :(得分:2)

首先,实体的(x,y)坐标位于其左上角。因此,minY应为0,或者您可以这样做:

float y = rand.nextFloat(maxY);

您不需要所有这些(int)演员表,您可以删除它们。

为了使随机定位,也得到随机X:

float maxX = this.mCamera.getWidth() - this.mBallTextureRegion.getWidth();
float x = rand.nextFloat(maxX);

这应该有用。

答案 1 :(得分:0)

在android屏幕上,坐标系的原点位于左上角。

(0,0)......(1,0)

(0,1)......(1,1)

因此,如果你想要总是在屏幕顶部产生某些东西,那么Y将需要为0.总是。 X值可以是从0到宽度的任意值,随机。这将把对象放在顶部,并随机放在X(左右)方向