Creare multi-sprite con il multi-touch?
-
27-10-2019 - |
Domanda
Sto utilizzando le funzioni multi-touch di AndEngine per creare multi-sprite per il mio gioco.Ma ho un problema:
- Quando creo lo sprite (nell'evento Scene touch down), chiamo il suo metodo StartGrowSize.
- Quando l'utente smette di toccare (rilascia il dito) su uno sprite, devo chiamare il suo metodo StopGrowSize.
Il problema è che NON POSSO determinare quando l'utente rilascia il dito e quale dito (il dito che crea quello sprite).
Questo è un codice nel mio gioco:
@Override
public boolean onSceneTouchEvent(Scene arg0, TouchEvent arg1) {
if (arg1.isActionDown()) {
//Create a balloon
int balloonType = rndGenerator.nextInt(GlobalStatic.BalloonTypeTotal);
currentBalloon = new clsBalloon(arg1.getX(), arg1.getY(),
ANDBallonTextureRegion[balloonType].clone(), balloonType, this);
balloons.add(currentBalloon);
scnGameScene.ettBalloon.attachChild(currentBalloon);
}
return true;
}
Nel clsBalloon:
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY) {
if (pSceneTouchEvent.isActionUp()) {
StopGrowSize();
return true;
}
return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
}
Ma non ha funzionato.Per favore aiutami, grazie.
Soluzione
OK, quindi ora la mia soluzione è creare un pre-sprite che riempia lo schermo e registri il suo gestore touch, ridimensiona e imposti il suo nuovo volto.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow