Frage zur Textausgabe
Übersicht

![]() |
MessiasBetreff: Frage zur Textausgabe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie kann ich es machen wenn ich ein Text ausgeben will das dann die einzelnen Buchstaben langsamer ausgegeben werden? ![]() |
||
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schlechte lösung:
Code: [AUSKLAPPEN] Write "T"
delay 100 Write "E" delay 100 Write "S" delay 100 Write "T" waitkey() (ich weiss ich bin faul *g*) |
||
![]() |
Messias |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was ist denn wenn ich einen längeren Text ausgeben will dann ist diese Lösung glaube ich etwas zu aufwändig oder? | ||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
in der Art wie man es von einer alten Schreibmaschiene kennt
muste mit left$ arbeiten beispiel: Code: [AUSKLAPPEN] Graphics 640,480,16,2
Const ESC = 1 timer = CreateTimer(30) a$ = "Ralllimen und der SchreibmaschienenEffeckt, es geht auch so..." SetBuffer BackBuffer() While Not KeyDown(ESC) ;############################################# x= x +1 If Len(a$) < x Then x = 0 Text 10,100,Left(a$,x) ;############################################# WaitTimer (timer) Flip:Cls:Wend:End |
||
[BB2D | BB3D | BB+]
|
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 460,480,0,2 SetBuffer BackBuffer() txt$ = "Text mit viel Buchstaben :)" length = Len(txt$) counter = 0 timer = 0 begin = 0 Repeat Cls If MilliSecs() >= timer And counter < length And begin counter = counter + 1 timer = MilliSecs() + 200 EndIf Text 10,10,Left(txt$,counter) If KeyHit(57) Then begin = True Flip Until KeyHit(1) End Leertaste drücken damit es beginnt. Ups war einer schneller, habs trotzdem mal gepostet. |
||
![]() |
Messias |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie soll ich das in diesen Code z.b.s. reinbauen?
Code: [AUSKLAPPEN] Graphics 800, 600, 16, 2 Color 0, 0, 255 Print "------------------------------Willkommen im Deleteprogram------------------------------" x = Input("Gib das Passwort ein:") If x = 45674 Then Print "Das Eingegebene Passwort ist richtig" Else Print "Das Eingegebene Passwort ist ungültig" WaitKey End EndIf Color 255, 255, 0 Print "Was möchten sie machen?" y$ = Input$() If y = "Festplatte löschen" Then Print "Welche Partition wollen sie löschen" ElseIf y = "Dateien löschen" Then Print "Geben sie bitte den Pfad der Datei/en an" ElseIf y = "Ordner löschen" Then Print "Geben sie den Pfad des Ordners an" Else Print "Diese Funktion steht nicht zur verfügung" End If z$ = Input$ () DeleteDir z$ WaitKey End |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
hab da mal eine neue function eingebaut, mußte es allerdings mit write und print machen , wegen der Vorgabe des codesCode: [AUSKLAPPEN] Graphics 800, 600, 16, 2
Color 0, 0, 255 Printx ("------------------------------Willkommen im Deleteprogram------------------------------" ) Printx ("Gib das Passwort ein:") x = Input() If x = 45674 Then Print ("Das Eingegebene Passwort ist richtig") Else Printx ("Das Eingegebene Passwort ist ungültig") WaitKey End EndIf Color 255, 255, 0 Printx ("Was möchten sie machen?") y$ = Input$() If y = ("Festplatte löschen") Then Printx ("Welche Partition wollen sie löschen") ElseIf y = ("Dateien löschen") Then Printx ("Geben sie bitte den Pfad der Datei/en an") ElseIf y = ("Ordner löschen") Then Printx ("Geben sie den Pfad des Ordners an") Else Printx ("Diese Funktion steht nicht zur verfügung") End If z$ = Input$ () DeleteDir z$ WaitKey End Function Printx(A$) Repeat If MilliSecs() > timer timer = MilliSecs()+50 x= x +1 If Len(a$) < x Then Exit Write Mid$(a$,x,1) End If Forever End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier eine mögliche Lösung wenn du ne Schleife hast und das ganze mit Text machen müsstest.
Code: [AUSKLAPPEN] Graphics 460,480,0,2 SetBuffer BackBuffer() Type ausgabe Field txt$ Field length, counter, timer Field begin Field x,y End Type Type normal Field txt$ Field x,y End Type Repeat Cls a.ausgabe = First ausgabe If Not a = Null Then a\begin = 1 For a.ausgabe = Each ausgabe If a\begin If MilliSecs() >= a\timer And a\counter < a\length a\counter = a\counter + 1 a\timer = MilliSecs() + 50 EndIf Text a\x,a\y,Left(a\txt$,a\counter) If a\counter = a\length n.normal = New normal n\txt$ = a\txt$ n\x = a\x n\y = a\y Delete a EndIf EndIf Next For n.normal = Each normal Text n\x,n\y,n\txt$ Next If KeyHit(57) myprint(10,10,"Beispiel Text Nummer 1") myprint(10,30,"Und das ist Text Nummer 2") EndIf Flip Until KeyHit(1) Delete Each ausgabe Delete Each normal End Function myprint(x,y,txt$) a.ausgabe = New ausgabe a\txt$ = txt$ a\length = Len(a\txt$) a\counter = 0 a\timer = 0 a\begin = 0 a\x = x a\y = y End Function |
||
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibt zwar schon zwei Lösungen, habe aber auch eine entwickelt. Ich habe eine Funktion dazu geschrieben. Die Position und die Geschwindigkeit des Textes kann angegeben werden.
Code: [AUSKLAPPEN] DelayText(20,20,"Das ist der Text", 70) WaitKey End Function DelayText(x, y, Text$, del) Locate x, y For i = 1 To Len(Text$) Letter$ = Mid(Text$, i, 1) Output$ = Output$ + Letter$ Text x,y, Output$ Delay del Next End Function |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab mal die Printx version noch um einen einfachen Zeilenumbruch erweitert!Code: [AUSKLAPPEN] Function Printx(A$)
Repeat If MilliSecs() > timer timer = MilliSecs()+50 x= x +1 If Len(a$) < x Then Exit If (StringWidth(Left(a$,x))-(GraphicsWidth()*zb+1))>GraphicsWidth()Print:zb=zb+1 Write Mid$(a$,x,1) End If Forever End Function Mit Print ist es natürlich nicht der Hit!! genauso wie der Input Befehl! aber ich denke das alle die mit Basic anfangen diese 2 Befehle als erstes nutzten werden, wegen des einfachen Code aufbaus. >> man muss sich da nicht mit positionen rumschlagen! (war bei mir jedenfalls so) |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group