在我的应用程序中,我需要在显示屏上拖放一些精灵。我定义了BitmapTextureAtlas和相应的TextureRegion,然后我已经根据这些数据创建了可拖动的sprite。
一些精灵必须放置在相同的位置,并且它们必须堆叠。
一切都很好,除了精灵的接缝要堆叠,但当我触摸拖走一个,而不是拖动第一个在顶部,它使我拖走总是在底部的第一个。
我怎么才能修复它?
此函数初始化子画面
public Vector<Sprite> initSprite(Vector<TextureRegion> tRegionV){
Vector<Sprite> aux = new Vector<Sprite>();
for(int i=0; i<dataV.size(); i++ ){
final int gap = dataV.elementAt(i).gap;
sprite = new Sprite(dataV.elementAt(i).x, dataV.elementAt(i).y, tRegionV.elementAt(i))
// gestione del drag & drop
{
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent,
final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
setPosition(pSceneTouchEvent.getX() - this.getWidth() / 2, pSceneTouchEvent.getY()
- gap /*this.getHeight() / 2*/);
//System.out.println("POSIZIONE X: "+(pSceneTouchEvent.getX()- this.getWidth() / 2) +" --- Y: " +(pSceneTouchEvent.getY() - this.getHeight() / 2));
//System.out.println("ALTEZZA: "+this.getHeight());
return true;
}
};
if(sprite==null) System.out.println("AAAAAA sprite" +i+" null");
aux.addElement(sprite);
}
return aux;
}我把场景中的精灵设置成这样
for(int x=0;x<spriteV.size();x++){
scene.getLastChild().attachChild(spriteV.elementAt(x));
}发布于 2011-11-11 19:13:19
https://stackoverflow.com/questions/8027400
复制相似问题