and Engine kan ACTION_UP niet krijgen in onSceneTouchEvent

Ik ondervind problemen met de Scene Touch Listener. Ik ontvang alleen ACTION_DOWN evenementen. Ik krijg nooit ACTION_UP of ACTION_MOVE evenementen. Wat heb ik fout gedaan? Help me alstublieft .

Ik heb de onSceneTouchEvent als volgt overschreven:

@Override
public boolean onSceneTouchEvent(final Scene pScene,
        final TouchEvent pSceneTouchEvent) {
    switch (pSceneTouchEvent.getAction()) {
    case TouchEvent.ACTION_DOWN:
        Log.d(TAG, "onSceneTouchEvent # ACTION_DOWN");
        break;
    case TouchEvent.ACTION_UP:
        Log.d(TAG, "onSceneTouchEvent # ACTION_UP");
        break;
    }
    return true;
}

* Opmerking: ik geef true al terug maar krijgt nog steeds alleen ACTION_DOWN

3
Wel, dat is raar. Ik zie hier niets verkeerds en ik heb iets soortgelijks gebruikt - hoewel mijn scène niet definitief was. Maar dat zou het niet moeten zijn. Heb je geprobeerd de bewegingsgebeurtenis te controleren? Iets als if (event.getAction() == motionEvent.ACTION_MOVE) of if (event.getAction() == MotionEvent.ACTION_DOWN) . Zou interessant zijn als deze is geregistreerd.
toegevoegd de auteur GameDroids, de bron
Oh sorry, realiseerde me net dat je dat al zei.
toegevoegd de auteur GameDroids, de bron
Zet het volgende voor de switch-instructie: Log.i ("Logged TouchEvents", "" + pSceneTouchEvent.getAction ()); Welke acties krijg je?
toegevoegd de auteur JohnEye, de bron
Heel erg bedankt voor het beantwoorden. Ik deed het na je oplossing, maar het heeft nog steeds hetzelfde probleem. (T_T)
toegevoegd de auteur Watcharin.s, de bron
Alleen actie naar beneden.
toegevoegd de auteur Watcharin.s, de bron

2 antwoord

gebruik nooit een schakelkast. omdat het slechts één geval zal kiezen, en actie naar beneden de eerste actie is, zal deze voor altijd worden gekozen .. de andere actie zal worden genegeerd.

gebruik dit in plaats daarvan:

if(pSceneTouchEvent.isActionDown){
   //code action down here
}
if(pSceneTouchEvent.isActionMove){
   //code action move here
}
if(pSceneTouchEvent.isActionUp){
   //code action up here
}
1
toegevoegd

Luister je ergens anders naar scene-aanraakgebeurtenissen? Het kan zijn dat u naar actie luistert en deze daar verwerkt (waar), voordat deze naar deze luisteraar wordt doorgevoerd.

0
toegevoegd