Antwort schreiben  Thema schreiben 
Seiten (2): « Erste < Vorherige 1 [2] Letzte »
Verfasser Nachricht
anmabagima
Ex-Developer
****


Beiträge: 348
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 530
Beitrag: #16
xPSP  RE: Inkrement spinnt

Hi,

dein Problem ist, dass bei jedem Schleifendurchlauf der Button-Wert gelesen wird....das heißt dass du den X-Knopf gar nicht schnell genug loslassen kannst, dass er nur um 1 hochzählt....

Eine sehr bewährte Methode um das zu umgehen ist folgende:

Code:
SceCtrlData pad, lastPad;
while (1){
    sceCtrlReadBufferPositive( &amp;pad, 1 );
    if (pad.buttons != lastPad.buttons){
         if (pad.buttons &amp; PSP_CTRL_CROSS){
            number++;
         }
    }
    lastPad = pad;
}

du musst dir also den letzten "Knopf merken" sobald du X loslässt steht der tastendruck nicht mehr in "lastPad" drin und somit erhälst du beim neuen drücken auf X wieder ein increment...

Darüberhinaus kannst du das ganze auch noch besser kapseln, so dass wenn eine taste länger als x-sekunden gedrückt bleibt dies auch so ist als wenn man neu gedrückt hätte ;o)

18.02.2011 09:10
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Seiten (2): « Erste < Vorherige 1 [2] Letzte »
Antwort schreiben  Thema schreiben 

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang