Benutzer-Eingabe - nicht mit Input?!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

CO2

ehemals "SirMO"

Betreff: Benutzer-Eingabe - nicht mit Input?!

BeitragMi, Sep 01, 2010 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe mal eine Funktion geschrieben:
Code: [AUSKLAPPEN]
Function InputOnPosition(Variable$, Stringgroesse%, x_pos, y_pos)
   
   Locate x_pos, y_pos
   Local zaehlvar = 0
   Local startvar
   
   Color 128, 128, 128
   
   Rect x_pos - 5, y_pos, (Stringgroesse * 15 + Stringgroesse * 5), 25, 1
   
   Color 255, 255, 255
   
   Line x_pos, y_pos + 5, x_pos, y_pos + 20 ;<-- bis hierhin funktioniert alles
   
   If Not MouseHit(1) Then ;<-- ab hier nicht mehr
      Local eingabe = GetKey()
      Select eingabe
         Case 30
            DrawImage Font, x_pos, y_pos + 5, 0
      End Select
   EndIf
   
End Function

(ich gebe zu: sie ist noch nicht ganz fertig) - Aber nun zu meinem Problem:
Es passiert rein gar nichts. Ich habe schon versucht den code direkt in den quellcode zu schreiben, hat nichts gebracht. Dann habe ich geschaut, ob GetKey() wirklich ASCII-Code zurückliefert und keinen scancode, brachte auch nichts. Jetzt bin ich ratlos. Also bis zum ersten kommentar funktioniert alles, danach nicht mehr, es wird kein Buchstabe ausgegeben.
Ich schick euch mal den Code, welcher diese funktion einbindet:
Code: [AUSKLAPPEN]
Graphics3D 800, 600, 32, 1      ;<-- Grafiken setzen

SetBuffer BackBuffer()      ;<-- Dublebuffering aktivieren

AppTitle "Highway Truckers v.0.0.0.1"   ;<-- Titel der Applikation setzen

;########################################<-- Variablen

Global game = True
Global FPS = CreateTimer(60)
Global Font = LoadAnimImage("data\2dgfx\Font.bmp", 15, 20, 0, 26)
MaskImage Font, 255, 0, 255
Global name$

;########################################<-- Ende der Variablen


;########################################<-- Funktionen

Function InputOnPosition(Variable$, Stringgroesse%, x_pos, y_pos)
   
   Locate x_pos, y_pos
   Local zaehlvar = 0
   Local startvar
   
   Color 128, 128, 128
   
   Rect x_pos - 5, y_pos, (Stringgroesse * 15 + Stringgroesse * 5), 25, 1
   
   Color 255, 255, 255
   
   Line x_pos, y_pos + 5, x_pos, y_pos + 20
   
   If Not MouseHit(1) Then
      Local eingabe = GetKey()
      Select eingabe
         Case 30
            DrawImage Font, x_pos, y_pos + 5, 0
      End Select
   EndIf
   
End Function

;########################################<-- Ende der Funktionen


;########################################<-- Hauptschleife

Repeat
   Cls
   WaitTimer(FPS)
   
   InputOnPosition(name$, 20, 250, 250)
   
   If KeyHit(1) Then
      game = False
   EndIf
   
   Flip
Until game = False
End

;########################################<-- Ende der Hauptschleife


Ich hoffe iwer von euch weiß, wo der fehler liegt, vielen dank schonmal im vorraus, bin echt ratlos.
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

mpmxyz

BeitragMi, Sep 01, 2010 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal eine Frage: Wo steckt der Code, der einen Buchstaben ausgeben soll? (Ist es das, was noch nicht fertig ist? Wink)
Die Zeile mit dem DrawImage ist es bestimmt nicht. (Zusatz: Wie kann man ein Zeichen mit dem ASCII-Wert 30 eingeben, wenn man von der Alt+Zahl-Kombination absieht?)
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Mi, Sep 01, 2010 21:20, insgesamt einmal bearbeitet

Hubsi

BeitragMi, Sep 01, 2010 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein das das Image zwar gezeichnet wird, aber Du es gar nicht bemerken kannst, weil es im nächsten Frame schon wieder weg ist? eingabe ist Local.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

CO2

ehemals "SirMO"

BeitragMi, Sep 01, 2010 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber mit Drawimage wird doch der Buchstabe ausgegeben. Ich habe extra kein ttf-Font geladen, ich habe selbst eine bmp-datei erstellt, welche die Buchstaben enthält, folglich gibt Drawimage sehr wohl einen Buchstaben zurück, oder nicht?
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

mpmxyz

BeitragMi, Sep 01, 2010 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Dazu sage ich mal mehrere Dinge:
A) Das Bild wird nur gezeichnet, wenn man eine "Untergruppen-Trennung" eingibt.
B) Du zeichnest immer nur den ersten Frame des Bildes.
C) Das Bild wird nur einmalig in dem Frame nach der Tastatureingabe gezeichnet.
mfG
mpmxyz
P.S.: eine ASCII-Tabelle
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
 

CO2

ehemals "SirMO"

BeitragDo, Sep 02, 2010 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, dann müsste sich das Problem beheben lassen, wenn die Funktion auch den Namen an das hauptprog zurückgibt, oder wie?
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

hazumu-kun

BeitragDo, Sep 02, 2010 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau, eine Funktion sollte sowieso nur ein Problem lösen, hier: Eingabe des Namens.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group