Text Typer von ??? |
Hier mal eine kleine Funktion die einen String Zeichen für Zeichen auf den Bildschirm schreibt. [code:1:bd21a52cd2] Graphics 640,480,16,2 SetBuffer BackBuffer() Repeat Cls TextTyper(100,100,"Hallo Welt",250) Flip Until KeyHit(1) : End Global ctext$ Global tt_time=MilliSecs() Function TextTyper(x,y,txt$,speed) If MilliSecs()-tt_time>speed tt_time=MilliSecs() lang=Len(ctext$)+1 If lang>Len(txt$) : ctext$="" : lang=1 : EndIf ctext$=Left(txt$,lang) EndIf Text x,y,ctext$,0,0 End Function [/code:1:bd21a52cd2] |
von ??? |
sowas habe ich auch mal geschrieben :) man gibt ein file an und dann wird statt zeichen für zeichen pixel für pixel der text gezeigt :) sieht imho auch lustig aus. (ich hoffe mal, dass niemand was dagegen hat, wenn ich das hier zeige....) [code:1:66edf8e32f]Function messagescreen(msgfile$) temp_img = LoadImage("GFX/Messagescreen.bmp") temp_mou = LoadImage("GFX/Mouse.bmp") temp_img2= CreateImage(600,400) temp_img3= CreateImage(600,400) MaskImage temp_mou,255,0,128 HandleImage temp_mou,0,0 Color 0,128,255 SetBuffer ImageBuffer(temp_img2) temp_read = ReadFile(msgfile$) i = 0 Repeat Text 0,i,ReadLine(temp_read) i = i + 13 Until Eof(temp_read) CloseFile temp_read SetBuffer BackBuffer() Color 210,240,255 SetBuffer ImageBuffer(temp_img3) temp_read = ReadFile(msgfile$) i = 0 Repeat Text 0,i,ReadLine(temp_read) i = i + 13 Until Eof(temp_read) CloseFile temp_read SetBuffer BackBuffer() FlushKeys() DrawBlock temp_img,400,300 HandleImage temp_img2,0,0 HandleImage temp_img3,0,0 For i = 0 To 60 DrawImageRect temp_img2,105,160,0,0,i*10,400 DrawImageRect temp_img3,105+i*10,160,i*10,0,3,400 Delay 20 Flip Next SetBuffer ImageBuffer(temp_img) DrawImage temp_img2,105,160 SetBuffer BackBuffer() FreeImage temp_img2 FreeImage temp_img3 Repeat DrawBlock temp_img,400,300 DrawImage temp_mou,MouseX(),MouseY() Flip Until KeyHit(1) FreeImage temp_img FlushKeys() End Function[/code:1:66edf8e32f] |
von ??? |
@inarie "Ja ich hab was dagegen" :D nein, warum sollte irgendwer dagegen sein wenn du ein gegenbeispiel postest... Aber kannst du dazu mal ein Beispiel geben? Da brauch man doch Resourcen? Kannst du das mal in ein zip o.ä. packen und hochladen? |
von |
Das mit dem Pixel für Pixel kann man aber auch einfacher haben [code:1:cddf927d06] Graphics 800,600,32 SetBuffer BackBuffer() Global Font = LoadFont("Arial",14,1,0,0) If Not Font RuntimeError "Font konnte nicht geladen werden" Global CurWidth = 1 Global Time = MilliSecs() Global LastTime = Time Repeat Time = MilliSecs() Cls Viewport 0,0,CurWidth,20 Text 0,0,"Ein langsam Pixel für Pixel erscheinender Text" Viewport 0,0,800,600 If Time > LastTime + 25 Then LastTime = Time CurWidth = CurWidth + 1 If CurWidth > 800 Then CurWidth = 1 EndIf Flip Until KeyHit(1) [/code:1:cddf927d06] |