Namenseingabe Prob.

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Cerbus

Betreff: Namenseingabe Prob.

BeitragDo, Sep 16, 2004 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi! Zusammen.
Ich stehe vor nem kleinen Problem. Nämlich ich möchte das alles weiterläuft und man trotzdem dem Namen eingeben kann ohne dass das Programm auf einen Befehl wartet.
Ich komm leider nicht dahinter wie man die 2 Sachen unabhängig von einander laufen lassen kann.

Code: [AUSKLAPPEN]
AppTitle "Programm"
Graphics 800, 600, 16, 1
SetBuffer BackBuffer()


AutoMidHandle 1 ;Bezugspunkt der Bilder in mitte setzen

;Variablen
Pfad$ = ".\Grafik\"

;Laden der Grafik
Global Background = LoadImage (Pfad$ + "Menu.png")
Global Mauszeiger = LoadImage (Pfad$ + "Maus.png")

Global YBild
Global XBild

;Hauptprogramm
Repeat
XBild=MouseX()
YBild=MouseY()

Cls
Menu()
Maus()

;Text 400,200,"Spielername:"
;Locate 400,250
;Spielername$ = Input()
;Text 400,300,"Herzlich Willkommen " + Spielername$

Flip
Until MouseHit(2)
End


Function Menu()
DrawImage Background, 400, 300
End Function

Function Maus()
DrawImage Mauszeiger, XBild, YBild
End Function


Also ich meine, wärend man den Namen eingibt kann man auch die Maus ohne Probleme bewegen, ohne das er wartet bis ich den Namen eingeben habe. Hoffe ihr versteht was ich meine. Wink
 

getlose

BeitragDo, Sep 16, 2004 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
schauh mal im Codearchiv nach. dort findest du entsprechende
Eingaberoutinen.

Sebi

BeitragDo, Sep 16, 2004 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das würd mich auch intressieren wie das geht, kann es aber nicht finden!

Gruß Sebi

DA

BeitragDo, Sep 16, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Wen ihr robs tut 2 habt, dann müsst ihr einfach euch dat Spiel "HeliHunter" angucken. Dort ist eine routine dafür drin.

Ich hoffe das es das ist wat ihr meint.

Thx
DarkAngel
Deutscher Blitz Basic Chat

The Yeti

BeitragDo, Sep 16, 2004 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, das macht man am besten mit GetKey und Char().

Cerbus

BeitragDo, Sep 16, 2004 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
@DarkAngel
Hab das Programm HeliHunter da, aber weiß nicht wo da die Lösung für das Problem sein soll.

@The Yeti
Ich versteh nich ganz wie du das meinst. Wie macht man dann daraus ne Zeichenkettte. Kann mir das mit GetKey nicht wirklich vorstellen.
 

Blitzkrieg Bop

BeitragDo, Sep 16, 2004 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wärs z.B damit :
https://www.blitzforum.de/view...aberoutine
~ Hey Ho Let's Go ~

TheProgrammer

BeitragDo, Sep 16, 2004 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab auch mal was gemacht:

Code: [AUSKLAPPEN]

Graphics 120,70,32,2
AppTitle "Eingaberoutine"
ClsColor 192,192,192

Global tahoma = LoadFont("Tahoma",16,0,0,0)
Global chat_stat
Global time
Global change
Global cursor_eingabe = CreateImage(7,16)

Dim cursor(6,15)
Restore cursor_eingabe
MaskImage cursor_eingabe,255,0,255
SetBuffer ImageBuffer(cursor_eingabe)
LockBuffer()
For Y = 0 To 15
 For X = 0 To 6
  Read cursor(X,Y)
  Select cursor(X,Y)
  Case 0
   WritePixelFast X,Y,$FFFF00FF
  Case 1
   WritePixelFast X,Y,$FF000000
  End Select
 Next
Next
UnlockBuffer()
SetBuffer BackBuffer()


While Not KeyHit(1)
Cls

ResetEingabe()
eingabe1$ = Eingabe(10,10,100,eingabe1$,1)
eingabe2$ = Eingabe(10,40,100,eingabe2$,2)
UpdateEingabe()


Flip
Wend
End

Function Eingabe$(x1,y1,x2,antwort$,stat)

   Color 255,255,255
   Rect x1,y1,x2,20,1
   Color 0,0,0
   Rect x1,y1,x2,20,0

   If chat_stat = stat Then
    a = GetKey()
    If a => 33 And a <= 126 Then antwort$ = antwort$ + Chr$(a)

    If KeyHit(57) Then antwort$ = antwort$ + " "
    If KeyHit(14) And Len(antwort$) > 0 Then
     antwort$ = Left(antwort$,(Len(antwort$)-1))
    EndIf
   EndIf

   If RectsOverlap(MouseX(),MouseY(),1,1,x1,y1,x2,20) Then
    If MouseDown(1) Then chat_stat = stat
     DrawImage cursor_eingabe,MouseX()-3,MouseY()-8
     HidePointer()
   EndIf

   textlange = StringWidth(antwort$)
   texthohe = StringHeight(antwort$)

   SetFont tahoma
   Color 0,0,0

   antwort2$ = antwort

   While StringWidth(antwort2$) > x2-6
    antwort2$ = Mid(antwort2$,2,Len(antwort2$))
   Wend

   Text x1+3,y1+10,antwort2$,0,1
   If change = 1 And chat_stat = stat Then Rect x1+3+StringWidth(antwort2$),y1+2,1,16
   Return antwort$

End Function

Function ResetEingabe()

   ShowPointer()

End Function

Function UpdateEingabe()

   time = time + 1
   If time = 30 Then time = 0 : change=1-change

End Function

.cursor_eingabe
Data 1,1,1,0,1,1,1
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 0,0,0,1,0,0,0
Data 1,1,1,0,1,1,1


...und eine kleine Verbesserung...
aktuelles Projekt: The last day of human being

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group