我使用此方法随机向屏幕添加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;
唯一的问题是我希望将精灵添加到屏幕顶部(即相机),而是将它们添加到屏幕的一侧。
有关如何执行此操作的任何建议吗?
答案 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(左右)方向