Eingabefeld

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Elendil

Betreff: Eingabefeld

BeitragDi, Nov 04, 2008 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
hey ho leutz, hab mich jetz doch dazu entschieden das eingabefeld in meinem Spiel bei den Gesprächen [ bis jetz noch mit input ] anders zu programmieren, so das das programm nicht angehalten wird....hab im moment aber ehrlich gesagt keine so richtige idee wie ich das anfangen soll >.<....hat jemand ne idee?

edit: also mein projekt is n 3D-Spiel deshalb hab ichs in der 3D-Kategorie ahmm....jo sorry falls falsch "einsortiert" is.
  • Zuletzt bearbeitet von Elendil am Di, Nov 04, 2008 19:52, insgesamt einmal bearbeitet

Thunder

BeitragDi, Nov 04, 2008 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ich weiß nicht wie dein Projekt aussieht, aber ich mache sowas immer so:

Code: [AUSKLAPPEN]

key=GetKey()
If key>=65 and key<=90 then eingabe$=eingabe$+Chr(key)
If key=8 Then eingabe$=Mid(eingabe$,1,len(eingabe$)-1)
Text 0,0,eingabe$


PS: Ich glaube das Thema gehört wo anders hin
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Elendil

BeitragDi, Nov 04, 2008 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
mhh okey habs jetz n bisschn anders gemacht :

Code: [AUSKLAPPEN]
Include "SpeedText.bb"
Graphics3D  640,480,32,2
SetBuffer BackBuffer()
ST_Initialize( BackBuffer( ) )
Local font_st = ST_LoadFont( "Tahoma", 13, 0, 0, 0, ST_NONANTIALIASED )
key=GetKey()
eingabe$=""
Repeat

If KeyHit(30) Then eingabe$ =eingabe$ + "a"
If KeyHit(48) Then eingabe$ =eingabe$ + "b"
If KeyHit(46) Then eingabe$ =eingabe$ + "c"
If KeyHit(32) Then eingabe$ =eingabe$ + "d"
If KeyHit(18) Then eingabe$ =eingabe$ + "e"
If KeyHit(33) Then eingabe$ =eingabe$ + "f"
If KeyHit(34) Then eingabe$ =eingabe$ + "g"
If KeyHit(35) Then eingabe$ =eingabe$ + "h"
If KeyHit(23) Then eingabe$ =eingabe$ + "i"
If KeyHit(36) Then eingabe$ =eingabe$ + "j"
If KeyHit(37) Then eingabe$ =eingabe$ + "k"
If KeyHit(38) Then eingabe$ =eingabe$ + "l"
If KeyHit(50) Then eingabe$ =eingabe$ + "m"
If KeyHit(49) Then eingabe$ =eingabe$ + "n"
If KeyHit(24) Then eingabe$ =eingabe$ + "o"
If KeyHit(25) Then eingabe$ =eingabe$ + "p"
If KeyHit(16) Then eingabe$ =eingabe$ + "q"
If KeyHit(19) Then eingabe$ =eingabe$ + "r"
If KeyHit(31) Then eingabe$ =eingabe$ + "s"
If KeyHit(20) Then eingabe$ =eingabe$ + "t"
If KeyHit(22) Then eingabe$ =eingabe$ + "u"
If KeyHit(47) Then eingabe$ =eingabe$ + "v"
If KeyHit(17) Then eingabe$ =eingabe$ + "w"
If KeyHit(45) Then eingabe$ =eingabe$ + "x"
If KeyHit(44) Then eingabe$ =eingabe$ + "y"
If KeyHit(21) Then eingabe$ =eingabe$ + "z"
If KeyHit(40) Then eingabe$ =eingabe$ + "ä"
If KeyHit(39) Then eingabe$ =eingabe$ + "ö"
If KeyHit(26) Then eingabe$ =eingabe$ + "ü"
If KeyHit(12) Then eingabe$ =eingabe$ + "ß"
If KeyHit(57) Then eingabe$ =eingabe$ + " "
If KeyHit(14) Then eingabe$ =eingabe$ + " "
UpdateWorld()
RenderWorld
ST_SetFont font_st
ST_DrawText 0,0,"deine Eingabe:" + eingabe$ ,0,0;ST_LEFT, ST_MIDDLE
Flip 0

Until KeyHit(1)


is wahrscheinlich nicht die beste methode sowas zu machen. jetz meine frage: also ich hab ja bis jetz alle buchstaben eingebaut un die leertaste. Kann man s auch irgnwie so machen, das wenn man sich z.b. vertippt hat das man s dann wieder um ein buchstaben löscht? thx jetz schonma Smile

Nicdel

BeitragDi, Nov 04, 2008 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne schwierigere Möglichkeit ist dir aber nicht eingefallen?

Mit If Keyhit(14) Then eingabe$=Mid(eingabe$,1,len(eingabe$)-1)
 

da_poller

BeitragDi, Nov 04, 2008 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
die lösung von thunder ist die einzige die ich zur verwendung empfehlen kann die darunter ist ... naja.. muss ich ncihts sagen..

vorteilhaft ist an der getkey geschichte das sondertasten einfach filterbar sind.

Elendil

BeitragDi, Nov 04, 2008 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
jah sorry ^^ was andres viel mir halt grad nich ein. jo danke mit dem löschen.
Ende

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group