Problem mit Eingabefeld?
Übersicht

![]() |
M0rgensternBetreff: Problem mit Eingabefeld? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute.
Ich hab ein Problem. Ich bin dabei eine kleine GUI zu programmieren damit mein Spiel besser aussieht. Die Hauptschleife ist mit select/case unterteilt. Beim Übergang vom Menü zum Spiel selbst soll ein Eingabefeld angezeigt werden, in welchem der Spielername angezeigt werden soll, bzw eingegeben werden soll. Aber diese ganze Stelle funktioniert nicht ganz. Wenn man enter drückt sollte man zum Spiel wechseln, aber das geht gar nicht. Und die Eingabe wird auch nicht richtig angezeigt. Hier ist der Type für das Eingabefeld: BlitzMax: [AUSKLAPPEN] Type TEditField Und hier ist die Stelle in der Hauptschleife: BlitzMax: [AUSKLAPPEN] Case iGameStart Also der müsste ja nach einem Druck auf die Entertaste zumindest zum Spiel übergehen. Aber selbst das passiert nicht. Und wenn ich hier folgendes Debuglog einfüge: BlitzMax: [AUSKLAPPEN] NameBox.sInput = NameBox.sInput + w Dann sieht mein Debuglog folgendermaßen aus: Zitat: DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog: DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugLog:DebugL...
EDIT durch BladeRunner: Debuglogs gekürzt. Ich verstehs echt nicht. Vor allem dass er die Entertaste auch nicht annimmt. Hoffe, ihr könnt mir helfen. Lg, M0rgenstern. |
||
![]() |
mpmxyzBetreff: *HUST* |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Schuldige ist eindeutig zu bestimmen:
BlitzMax: [AUSKLAPPEN] FlushKeys '*HUST* Kürze bitte deine DebugLog-Reihe! Die zerschießt die Forendarstellung. (Sind bei dir wirklich keine Zeilenumbrüche vorhanden?) mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
müsste er nicht statt...
BlitzMax: [AUSKLAPPEN] If KeyHit(key_enter) Then ...eigentlich... BlitzMax: [AUSKLAPPEN] If C=13 Then ...schreiben? Die Tastatur ist ja schon abgefragt und das Ergebnis liegt in der Variablen c%. @morgenstern da gibt es ein Kapitel in meinem Timer-Tutorial, das sich genau mit dem asynchronen Erfassen eines Spielernames beschäftigt. Vielleicht nutzt es dir was? Kapitel IV: https://www.blitzforum.de/foru...555#364555 |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, das ist schon so in Ordnung, wie er es gemacht hat.
GetChar und die Key...-Funktionen sind in diesem Aspekt voneinander getrennt. "FlushKeys" setzt aber beide zurück. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey.
Vielen Dank mpmxyz. Das wars. Doofer Fehler, sorry. @Midimaster: Dankeschön. Aber dein Tutorial ist eher für ein Eingabefeld geeignet. Bei mir läuft das über Types. Finde ich angenehmer. @mpmxyz: Es gibt schon Zeilenumbrüche in meinem Debuglog Fenster. Wenn die Fenstergröße erreicht wird. Nach 13 "Debuglog:" fängt dann eine neue Zeile an. Ich versteh nur nicht ganz warum. Selbst jetzt zeigt er nichts an außer das was ich oben schon geschrieben habe. Der müsste doch eigentlich den Stringinhalt anzeigen. EDIT: Sorry, aber ich hab irgendwie ein Problem damit das letzte Zeichen zu löschen, wenn man Backspace drückt. Ich hab schon im Forum gesucht und was gefunden. Aber wenn ich genau das mache, dann funktioniert es nicht. Ich mache das so: BlitzMax: [AUSKLAPPEN] c = GetChar() Das funktioniert auch nicht, wenn ich stattdessen hinter das Komma Len(Namebox.sInput)-1 schreibe. Vielen Dank. Lg, M0rgenstern |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach, MOrgenstern....
wenn du nur nicht so beratungsresistent wärst... Deine Eingaberoutine (ab "iGameStart") hat mit Types so wenig zu tun wie dieses Wetter mit Sommer! ![]() Aber nachdem du das Tutorial nicht sehen willst, hier ein Ansatz, der dich selber drauf bringen wird: BlitzMax: [AUSKLAPPEN] Graphics 800,600 |
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey.
Sorry Midimaster. Habs mir jetzt mal ganz genau durchgelesen (dein Tut). Tut mir leid, aber hast schon recht. Hat auch geholfen. Weil mir was aufgefallen ist: Ich achte nicht darauf, ob die Eingabe = 0 ist. Mein String wird also immer länger, weil er trotzdem ein "Zeichen" angefügt hat. Habe übrigens die Sache mit dem dem Blinken bei meinen Editfeldern eingefügt. Ist was feines. Vielen Dank. Und sorry nochmal. Dein Tutorial ist übrigens gut geschrieben. Lg, M0rgenstern |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group