Intro beenden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Beni

Betreff: Intro beenden

BeitragSo, Dez 19, 2004 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mir einer sagen wie ich es anstellen soll, dass während einer ganzen Function abgefragt wird ob die Esc-Taste gedrückt wird?

dominik

BeitragSo, Dez 19, 2004 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
in dem du es in eine schleife packst und mit
BlitzBasic: [AUSKLAPPEN]
If KeyDown(1) Then End

abfragst ob die ESC Taste gedrückt wurde.
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof.
 

Beni

BeitragSo, Dez 19, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja schon aber wenn ich Esc drücke wenn das Programm schon weiter ist passiert nix!!
 

Timo

BeitragSo, Dez 19, 2004 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du die Abbruchbedingung in der Schleife drinne? Du musst quasi 30mal pro Sekunde fragen, ob ESC gedrückt wurde Smile
 

Beni

BeitragSo, Dez 19, 2004 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hää wie soll ich das machen?

Hubsi

BeitragSo, Dez 19, 2004 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Stichwort Schleife. Dort wo auch das Intro abgespielt, wiedergegeben, was auch immer wird. Poste am besten den entsprechenden Code, dann wird die Hilfestellung etwas leichter Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

noir

BeitragSo, Dez 19, 2004 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
bei blitzbasic gibts doch einen Eingabepuffer.
sonst gebs ja keinen befehl wie flushkeys

also reicht deine if - abfrage

und Timo meinte du sollst einfach am ende der schleife
z.b until keyhit(1) machen.
 

Beni

BeitragSo, Dez 19, 2004 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem ist, dass die ganze sache nur einmal ausgeführt werden soll.
Hier is der Code:
BlitzBasic: [AUSKLAPPEN]

Function Intro ()
For i = 0 To 1
Color 0,90,0 : ClsColor 0,0,0
SetFont A20
Cls
Text 330,270, \"Text1\"
Text 340,300, \"Text2\" : Flip : Delay 3000
Cls : Text 300,270, \"Text3\" : Flip : Delay 4000
Cls : DrawImage b1, 400,300 : Flip : Delay 2000
Next
End Function
 

noir

BeitragSo, Dez 19, 2004 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
also

1. das for...next brauchst du nicht, wenn du die schleife nur 1x ausführst.
2. benutze nicht dalay, damit wird das ganze programm angehalten.
mache es mit einer millisecs abfrage, so kannst du dann auch abbruch bedingungen einbauen.
 

Timo

BeitragSo, Dez 19, 2004 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, dabei wird die Abbruchbedingung schwierig. Smile

Lege am besten alles in eine Schleife und lege fest, nach vieviel Sekunden er das nächste anzeigen soll.
naja, der folgende Quelltext soll dir nur mal die richtung zeigen, wie man dieses Problem angehen könnte...

(ungetestetes) Beispiel:

BlitzBasic: [AUSKLAPPEN]
Function Intro()
Local count=MilliSecs()

Color 0,90,0
ClsColor 0,0,0
SetFont A20

Repeat
Cls
Text 330,270, \"Text1\"
If (MilliSecs() - count) > 3000 Then Text 330,290, \"Text2\"
If (MilliSecs() - count) > 7000 Then Text 330,310, \"Text3\"
If (MilliSecs() - count) > 9000 Then DrawImage b1, 330,330
Flip
Until KeyHit(1)
End Function
 

Beni

BeitragMo, Dez 20, 2004 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt das For und Next brauch ich nicht das hab ich nur mal reingemacht zum ausprobieren.
Aber das dumme ist, dass das Intro so lang läuft bis ich Esc drücke und wenn ich Esc drücke bevor das Bild kommt bicht das Programm ganz ab und macht nicht nach der Function weiter.
Was soll ich jetzt machen?
 

Timo

BeitragMo, Dez 20, 2004 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
wie gehts denn im deinem Quelltext weiter? Du rufst die Funktion auf und dann...? Im Hauptteil muss jetzt wieder eine schleife kommen

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group