Drehender NewsTicker für B2D
Übersicht

![]() |
HolzchopfMeisterpackerBetreff: Drehender NewsTicker für B2D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man kennt sie ja schon aus verschiedenen futuristischen Spielen und Filmen - diese Newsticker die so schön um einen Turm drehen.
Ich hab nun mal ein wenig mit DrawImageRect rumgespielt (und mit ein paar anderen Befehlen) und dabei ist halt das rausgekommen: Code: [AUSKLAPPEN] Graphics 800,600,0,2 SeedRnd MilliSecs() ; Bild laden / erstellen: bild = CreateImage( 800, 150 ) ; Bild bemalen (Auskommentieren, falls Bild geladen wird): ;[sub] SetBuffer ImageBuffer( bild ) SetFont LoadFont( "Tahoma", 50, 1 ) Color 0,0,255 Text 200,0, "*** Hallo Welt ***" ,1 Color 255,0,0 Text 600,0, "*** Hallo Welt ***" ,1 Color 0,255,0 Line 0,50, 800,75 Line 0,75, 800,100 For y=100 To 149 For x=0 To 799 Color Rand(255), Rand(255), Rand(255) Plot x,y Next Next SetBuffer BackBuffer() ;[/sub] w# = 800 ClsColor 78, 100, 128 While Not KeyHit(1) Cls my = MouseY() zeichne_x# = 500 For x=0 To 799 ; Wird benötigt, um die "Spalten"-Breite zu ermitteln: alt_zx# = zeichne_x ; Die zu zeichnende Position im Kreis ermitteln: winkel# = ( x/800.0 * 360.0 ) zeichne_x = 400+ Cos( winkel ) * 100 zeichne_y = 200- Sin( winkel ) * ( (my-300) / 10.0) ; Ermittelt die Spaltenbreite, da sie grösser sein kann als 1, ; muss an einigen Stellen ein 2 Pixel breiter Streifen gemalt ; werden, da sie aber auch (gerundet) 0 sein kann und dann ; gar nichts kopiert werden würde,sein kann, muss sie ; mindestens 1 betragen (siehe Rechnung 2te Zeile): breite = Abs(alt_zx - zeichne_x) breite = breite + 1*(breite=0) ; Bestimmt die X-Position im Bild, welche kopiert werden soll: rect_x = (x+w) Mod 800 DrawImageRect bild, zeichne_x, zeichne_y, rect_x, 0, breite, 150 Next ; Drehgeschwindigkeit: w = w + 2 Flip Wend End MfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group