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.

È stato utile?

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
scroll top