Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查Andengine中随机生成的sprite值_Java_Android_Andengine_Game Engine - Fatal编程技术网

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

Java 如何检查Andengine中随机生成的sprite值,java,android,andengine,game-engine,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++; }

我的代码是这样的:

while(x<30)
 {
  int randomvalue= generaterandomnumber();
  Sprite backgroundSprite = new Sprite(location[coordx], location[coordy], spritetobegenerated[randomvalue-1].deepCopy(),getVertexBufferObjectManager())
  (Touchevents)
  x++;
  }
精灵保存在名为spritetobegenerated[]的精灵数组中


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

I.您需要在每个精灵中覆盖OnRealTouched函数,方法如下:

例:


二,。我将扩展一个自己的Sprite类,例如:MySprite,在这个类中,我全局重写了一个reatouched函数,并引入了一个索引。在此之后,我会在OnAreTouched中放入一个开关或if语句,具体取决于精灵索引。

对于I:因为精灵是在循环中创建的,@Override对其有何影响?每个精灵都有自己的OnAreTouched函数,您可以覆盖我前面提到的索引:它不确定是否有必要。
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);