в моем приложении у меня есть несколько спрайтов, которые мне нужно перетащить на дисплей.
я определил BitmapTextureAtlas и соответствующий TextureRegion, а затем создал перетаскиваемый спрайт из этих данных.
Некоторые спрайты должны быть установлены в одинаковом положении, и они должны быть сложены.
все работает нормально, за исключением того, что швы спрайтов должны быть сложены, но когда я касаюсь перетаскивания одного, вместо перетаскивания первого вверху, я всегда перетаскиваю первый вниз.
как я могу это исправить?
эта функция инициализирует спрайт
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));
}