Textausgabe langsam Zeichen für Zeichen. Wie geht's ?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

loosergt

Betreff: Textausgabe langsam Zeichen für Zeichen. Wie geht's ?

BeitragDo, Jul 15, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Confused Also ich möchte einen Text mittels text-Befehl Zeichen für Zeichen (relativ) langsam ausgeben. Das soll so aussehen als ob den Text einer eintippt oder ein Compi ihn leserlich langsam ausgibt. Die Hauptschleife läuft mittels sync=createtimer (60) und in der Schleife mit waittimer (sync) ausgezeichnet. Die kleine function für die Zeichen für Zeichenausgabe funzt auch, aber eben viel zu schnell. Ein zweiter Timer mit dem ich den Ablauf ein wenig bremsen will bringt einen illegal Memory Error. Weiß Jemand Rat ? Crying or Very sad

Jan_

Ehemaliger Admin

BeitragDo, Jul 15, 2004 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
pass auf, wenn ein Zeichen geschrieben wird, machst du t1 = millisecs()
und befor du es schreibst machst du immer if t1 + 500 < millisecs()
between angels and insects
 

Jaramia

BeitragDo, Jul 15, 2004 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
delay( 500 )
alu.art-FX.org
 

David

BeitragDo, Jul 15, 2004 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Friert bei Delay( x ) nicht das gesammte Programm ein? In dem Fall würde ich die Lösung von Jan vorziehen!

grüße
http://bl4ckd0g.funpic.de

loosergt

BeitragDo, Jul 15, 2004 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Confused Habe jetzt beides probiert. Die Sache mit den Millisecs funzt eher schlecht, da ich den Wert bei t1+500 extrem hochschrauben muß um überhaupt eine Verlangsamung zu bekommen. Delay geht simpel und eigentlich für die Textausgabe wunderbar. Da ich aber gleichzeitig zur Textausgabe meine Camera im 3D-Modus zurückfahren lassen möchte rucktelt die Camerafahrt das durch die Ausbremsung von Delay Rolling Eyes
 

Edlothiol

BeitragDo, Jul 15, 2004 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Delay 500 sollte eigentlich genauso lange warten wie Jans Lösung... Und Delay hält wirklich das ganze Programm an, das ist keine gute Lösung...
 

Jaramia

BeitragDo, Jul 15, 2004 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich weiß das bei Delay das ganze Programm angehalten wird.
Allerdings ist es manchmal auch eine halbwegs passable Lösung. Kommt eben drauf an, wie der Rest des Programms aussieht.
alu.art-FX.org

loosergt

BeitragDo, Jul 15, 2004 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Embarassed Jan hat doch die bessere Lösung gehabt. Der Delay-Befehl hält ja alles solange auf bis der Millisekunden-Wert erreicht wurde.

Hier mal meine function :

Function hacktext (xpos%,ypos%,tx$)

t1=MilliSecs()
number%=1
While number%<=Len(tx$)
WaitTimer(sync)
MoveEntity cam,0,0,-0.5
RenderWorld
If t1+50>MilliSecs() Then
Text (xpos%,ypos%,Mid$(tx$,1,number%))
Else
Text (xpos%,ypos%,Mid$(tx$,1,number%))
number%=number%+1
t1=MilliSecs()
EndIf
Flip
Wend

End Function

Ich hatte selber einen Fehler gemacht (nachdenken hilft echt) Wink
Web : http://64kbyte.homeip.net
286@16MHz/8MB/40MB-HD/Voodoo 12MB/SB-16 Value/10MBit-Koax-LAN@topSPEED

Jan_

Ehemaliger Admin

BeitragFr, Jul 16, 2004 7:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke,
die Blumen nehme ich gerne an mich,
Ich wusste nur nicht, wie ihr dran zweifeln konntet!
Laughing - war nur Spaß

Deine lösung Zeigt das ERgebnis gut, aber sie ist nicht immer zu verwenden.
Wenn du irgendwo im spiel diese mal einsetzten willst, kannst du nicht die Kamera bewegen und Flipen und alles!

Ich würde hierfür Diese Methode empfehlen:

Wenn der Text gezeigt werden soll : Create_hacktext(X,Y,TXT$)

und dann in der Hauptschleif immer : Update_Hacktexte()

Sozusagen, das du diese Funktionen immer wieder verwenden kannst!
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group