Text wird bei Wiederholung nicht ausgegeben
Übersicht
BlitzBasic
Blitz3D|
|
Golden AgeBetreff: Text wird bei Wiederholung nicht ausgegeben |
Antworten mit Zitat |
|---|---|---|
|
Titel=Problem
Code: [AUSKLAPPEN] Graphics3D 1024,768,32
SetBuffer BackBuffer() Text GraphicsWidth()/2.4, GraphicsHeight()/GraphicsHeight(), "The first 3D-Game" Text 0, 30, "Starte mit Enter/Beende mit Escape" .Repeating If KeyHit(1) End EndIf warten= MilliSecs() If KeyHit(28) .weiter Text GraphicsWidth()/2-60,GraphicsHeight()/2,"Es beginnt!" EndIf If MilliSecs()> warten+2000 End EndIf Goto weiter EndIf Flip Goto Repeating Der text Es beginnt wird nicht ausgegeben, aber wieso? |
||
|
|
The_Nici |
Antworten mit Zitat |
|---|---|---|
|
arghl. x_X
Rücke deinen Code mit Tabulatoren ein, verwende KEIN Goto. Bitte. Ich habe nämlich keine Ahnung was der Code jetzt genau machen soll. |
||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
|
Es funktioniert schon deshalb nicht, weil eine eindeutige Fehlermeldung aufpoppt bevor überhaupt das Programm zum laufen beginnt: ''EndIf'' without ''If'' sollte klar sein.
Zum übrigen ist die Logik komplett falsch. ---- Meine Interpretation vom Code: [AUSKLAPPEN] Graphics3D 1024,768,0,2
SetBuffer BackBuffer() Local Timer=CreateTimer(60) ;Auf 60 FPS setzen Local GfxW=GraphicsWidth() ;Unnötige Funktionsaufrufe im Mainloop vermeiden Local GfxH=GraphicsHeight() ;MAINLOOP While Not KeyHit(1) If (MilliSecs()<warten+2000) Then End Text GfxW/2,0,"The first 3D-Game",1 ;Letzter PARAMETER=1 zentriert den Text Text 0,30,"Starte mit Enter/Beende mit Escape" If KeyHit(28) Then Text GfxW/2-60,GfxH/2,"Es beginnt!" EndIf WaitTimer(Timer) Flip 0 Cls Wend End |
||
| Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D | ||
|
|
Golden Age |
Antworten mit Zitat |
|---|---|---|
| Okay, aber bei deinem Code blinkt das "Es beginnt!" nur ganz kurz auf, das heißt der Timer geht nicht richtig oder so, oder an was liegt das? | ||
|
|
the FR3AK |
Antworten mit Zitat |
|---|---|---|
|
Schonmal bemerkt das das "Es beginnt" in einer KeyHit Abfrage steht?
Das heisst dass es nur einmal kurz aufblinkt wenn die Taste gedrückt wird |
||
|
|
Golden Age |
Antworten mit Zitat |
|---|---|---|
| Ahh ja, stimmt, aber kann man den Text nicht irgendwie da länger ausgeben lassen? | ||
|
|
The_Nici |
Antworten mit Zitat |
|---|---|---|
| Wie wärs mit dem benutzen einer Variable? | ||
|
|
the FR3AK |
Antworten mit Zitat |
|---|---|---|
| Bau einen Timer mit Millisecs dann kannst du ihn beliebig viele (Milli)Sekunden anzeigen^^ | ||
|
|
Golden Age |
Antworten mit Zitat |
|---|---|---|
|
Okay, jetzt funktioniert alles so wies soll, so siehts jetzt aus:
Code: [AUSKLAPPEN] Graphics3D 1024,768,0,2
[/code][/quote]
SetBuffer BackBuffer() Local GfxW=GraphicsWidth() ;Unnötige Funktionsaufrufe im Mainloop vermeiden Local GfxH=GraphicsHeight() ;MAINLOOP While Not KeyHit(a) ;damit keine Taste beenden kann Text GfxW/2,0,"The first 3D-Game",1 ;Letzter PARAMETER=1 zentriert den Text Text 0,30,"Starte mit Enter/Beende mit Escape" If KeyHit(28) And beenden = False dauer=MilliSecs() EndIf If MilliSecs()<dauer+2000 Text GfxW/2,300,"Es beginnt",1 ;Letzter PARAMETER=1 zentriert den Text beenden = True EndIf If MilliSecs()>dauer+2000 And beenden = True End benden = False EndIf Flip Cls Wend |
||
Übersicht
BlitzBasic
Blitz3D
Powered by phpBB © 2001 - 2006, phpBB Group
