Probleme mit VK_UP


Beltar

Member
Joined
Feb 13, 2007
Messages
214
Age
34
Location
Stein (nähe St. Pölten(A))
ICQ
232357654
LOCATION
Stein (nähe St. Pölten(A))
Hi
Jetzt mach ich schon wieder mal ein Thema auf (hoffe das ich nicht schon zuviel rumspam^^)

Ich habe das Problem, dass bei allen spielen die ich schreibe automatisch VK_UP aktiviert ist:
d.h Wenn ich ins Spiel komme, läuft mein Char immer nach oben

Ich wollte mal wissen ob das an meinen GP2x liegt oder am Programm
könnte das mal wer ausprobieren:
wenn der Balken voll ist, kann man den Cursor bewegen

mfg
Beltar
 

Attachments

  • fight.rar
    170 KB · Views: 285
es fehlen dll Dateien dateien, um das zu starten...
 
Da kein Linux-Binary oder Makefile dabei war konnte ich das Programm nicht ausprobieren. Aber sind das alle Source-Dateien, oder bin ich zu betrunken? In beiden main.cpp-Dateien konnte ich als einzige behandelte Aktion nur das Beenden des Programms finden (bei Ctrl-C und <Start>). Wenn da was von Anfang an läuft, dann dürfte das nichts mit den Tasten zu tun haben.
 
ups, sorry
Hatte unabsichtlich die Dateien zu einem alten rar archive dazugeladen.
Ich bräuchte wen der das auf seinen GP2x ausprobiert.
Auf dem PC läuft das Programm ja richtig, nur am GP2x wird dauernd VK_UP gesendet, jetzt will ich halt wissen, ob mein GP2x einen Fehler hat, oder ich was falsch programmiert hab.

keyevent abfragen mach ich mit dieser Funktion:
Code:
<i>
</i>int getKeyEvent(void)
{
    int ret = FALSE;
    SDL_PollEvent(&event);
    if(event.type == SDL_KEYDOWN)
        ret = event.key.keysym.sym;
    if(event.type == SDL_JOYBUTTONDOWN)
        ret = event.jbutton.button;
     
    return ret;     
}

Sorry hätte ein paar mehr infos geben sollen

mfg
Beltar

Einfach auf den GP2x kopieren und starten, nach ein Paar Sekunden kann man einen Cursor bewegen
 

Attachments

  • fight.rar
    120.4 KB · Views: 301
Du rufst in deiner Hautpschleife in main.cpp die Methode run() auf, welche wieder, leicht versteckt, die Methode move() aufruft. Diese bewegt bei jedem Aufruf den Spieler um 5 Pixel nach links.

Der Aufruf passiert bei jedem Schleifendurchlauf, die Taste VK_UP wird dabei nicht geprüft.

Gruß
Thomas
 
KidPaddle said:
Du rufst in deiner Hautpschleife in main.cpp die Methode run() auf, welche wieder, leicht versteckt, die Methode move() aufruft. Diese bewegt bei jedem Aufruf den Spieler um 5 Pixel nach links.

Der Aufruf passiert bei jedem Schleifendurchlauf, die Taste VK_UP wird dabei nicht geprüft.

Gruß
Thomas

Der Sourcecode von der ersten RAR Datei ist veraltet und hat nichts mit dem VK_UP Problem zu tun.
Bei der aktuellen Version wartet der Spieler bis sein Balken voll ist, und dann kann man einen kleinen "Cursor" auf der linken Seite des Feldes bewegen. Genau bei diesem hab ich das Problem, das der Cursor immer nach oben geht.

mfg
Beltar

EDIT: Neuste Erkenntnisse:
Wenn ich mit Open2x die Buttons remappe, d.h. Ich leg VK_UP auf VK_UP_LEFT und frage auf dieses ab, kann ich das Programm so steuern wie ich es vorgesehen hatte.
Irgenwie hat mein Programm, bzw open2x Probleme mit Button0 (UP)

edit2: Problem gelöst,
Ich sollte mich nicht einfach auf die SDL Libaries von meiner Schule verlassen, zur Funktion gehört noch ein
Code:
<i>
</i>#define FALSE 0
dazu. :D
Code:
<i>
</i>int getKeyEvent(void)
{
    int ret = FALSE;
    SDL_PollEvent(&event);
    if(event.type == SDL_KEYDOWN)
        ret = event.key.keysym.sym;
    if(event.type == SDL_JOYBUTTONDOWN)
        ret = event.jbutton.button;
     
    return ret;     
}
 
Back
Top