如何检查Andengine中随机生成的sprite的值

时间:2014-02-19 08:13:22

标签: java android andengine game-engine

我的代码是这样的:

while(x<30)
 {
  int randomvalue= generaterandomnumber();
  Sprite backgroundSprite = new Sprite(location[coordx], location[coordy], spritetobegenerated[randomvalue-1].deepCopy(),getVertexBufferObjectManager())
  (Touchevents)
  x++;
  }

sprite保存在名为spritetobegenerated []的精灵数组中。

由于代码随机生成这些精灵,我需要一些方法来了解触摸事件发生时涉及哪个精灵。

1 个答案:

答案 0 :(得分:0)

予。你需要在每个sprite中覆盖onAreaTouched函数,这样:

例如:

for (int i = 0; i < SPRITE_COUNT; i++) {
    float x = (float) (Math.random() * CAMERA_WIDTH);
    float y = (float) (Math.random() * CAMERA_HEIGHT);

    final Sprite face = new Sprite(x, y this.mFaceTextureRegion, this.getVertexBufferObjectManager()) {
        @Override
        public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
            this.setX(this.getX() + 1);
            return true;
        }
    };
    scene.attachChild(face);
    scene.registerTouchArea(face);
}
scene.setTouchAreaBindingOnActionDownEnabled(true);

II。我会扩展一个自己的Sprite类,例如:MySprite,我在全局覆盖onAreaTouched函数,我也会引入一个索引。之后我会将一个switch(或if)语句放入onAreaTouched,取决于sprite索引。