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);