Text wird bei Wiederholung nicht ausgegeben
Übersicht

![]() |
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


Powered by phpBB © 2001 - 2006, phpBB Group