【问题标题】:How to change location that sprite Randomly appears in Scene?如何更改精灵随机出现在场景中的位置?
【发布时间】:2011-11-07 11:55:50
【问题描述】:

我在 AndEngine 中使用此方法向屏幕添加精灵并使其在屏幕上移动。

 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;


             face = new Sprite(x, y, this.mBallTextureRegion.clone());
             body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, face, BodyType.DynamicBody, FIXTURE_DEF);

      this.mScene.attachChild(face);
     this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face, body, true, true));
             int minDuration = 2;
            int maxDuration = 4;

            int rangeDuration = maxDuration - minDuration;
            int actualDuration = rand.nextInt(rangeDuration) + minDuration;

            MoveXModifier mod = new MoveXModifier(actualDuration, face.getX(), - face.getWidth());

            face.registerEntityModifier(mod);

}

我想要做的是,而不是选择随机位置并将精灵添加到场景的左侧,我希望它被添加到顶部并下降。

我基本上是想调转方向, 我只是想不通怎么做。我尝试的一切都没有运气。

有什么想法或建议吗?

【问题讨论】:

    标签: java android box2d andengine


    【解决方案1】:

    虽然我对 Andengine 了解不多,但我怀疑您会想要更改以下几行:

    float x = (int) mCamera.getHeight() - mBallTextureRegion.getHeight();
    float y = rand.nextInt((int)rangeY) + minY;
    
    MoveXModifier mod = new MoveXModifier(actualDuration, face.getX(), - face.getWidth());
    

    翻转 x 和 y 语句,但如果您希望它出现在屏幕之外,请将 y 设置为 -mBallTextureRegion.getHeight()。

    对于 MoveXModifier,我猜想有一个对应的 MoveYModifier(分别使用 face.getY() 和 -face.getHeight())

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多