Copper-/ RasterBars

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Flush

Betreff: Copper-/ RasterBars

BeitragFr, Feb 19, 2016 0:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich suche schon seit geraumer Zeit nach ein paar guten CopperBar bzw. Rasternar Snippets, Codes, Samples und/ oder Tutorials.
Raster-/ CopperBars waren doch diese bunten 3d anmutenden Balken die sich sinusförmig von oben nach unten bewegten und dabei eine andere Farbe annahmen?!
Auch in Blitz+ und BlitzMax.
Könnt Ihr mir da weiterhelfen?

Vielen Dank vorab,
Flusher

Tankbuster

BeitragFr, Feb 19, 2016 2:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab da mal was gebastelt. Ist zwar nicht genau was du suchst, aber vielleicht ein Ansatz:

BlitzBasic: [AUSKLAPPEN]
Graphics 400,300
SetBuffer BackBuffer()

Dim bar(5)

For i=1 To 5
bar(i)=CreateImage(400,6)
SetBuffer ImageBuffer(bar(i))

For l= 1 To 5
Color -(10*l*l)+255,0,0
Line 0,l,400,l
Next
ScaleImage bar(i),1.0,10.0
Next

SetBuffer BackBuffer()
timer=CreateTimer(60)

While Not KeyDown(1)
Cls
For i=1 To 5
DrawImage(bar(i),0,150+Sin(MilliSecs()/(4*i))*100)
Next
WaitTimer(timer)
Flip 0
Wend


Mit animierten Bildern kannst du noch den Farbwechsel hinbekommen. Allerdings ist bedingt durch die Höhe Auflösung und die gute "weiche" Skalierung der Retrolook etwas verfehlt..

Wenn du es wirklich "Retro" machen willst, solltest du eine niedrige Auflösung faken.
Twitter
Download Jewel Snake!
Windows|Android

Flush

BeitragFr, Feb 19, 2016 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Tankbuster,

stimmt eine niedrige Auflösung gibt gleich ein guted RetroFeeling.
Vielen dank für den Code.
Ich hab auch noch was. Ist zwar nicht von mir aber trotzden gut Very Happy

Code: [AUSKLAPPEN]
Graphics 640,480,16,2

Global sWidth = GraphicsWidth()
Global sHeight = GraphicsHeight()
Global Bars = 5
Global BarsDiff = 30
Global maxSinus = 360
Global index_plus = 3

theta = 360/maxSinus
Dim sinT(maxSinus)
For i=0 To maxSinus-1
   sinT(i) = (sHeight/2)*(1+Sin(theta*i))
Next

SetBuffer BackBuffer()
start_index = 0

While Not KeyHit(1)
   Color 0,0,0   
   Rect 0,0,sWidth,sHeight
   start_time = MilliSecs()
   LockBuffer BackBuffer()
   For i=0 To Bars-1
      index = start_index + i*BarsDiff
      If index>=maxSinus
         index = index Mod maxSinus
      EndIf
      
      BarLines = 64 ;2^x
      y_pos = sinT(index)-BarLines/2
      For j=y_pos To y_pos+Barlines-1
         If (j>-1) And (j<sHeight)
            BarLine = j-y_pos
            If BarLine>=BarLines/2
               BarLine = BarLines-BarLine-1
            EndIf
            For k=0 To sWidth
               WritePixel k,j,BarLine*8 Mod 256
            Next
         EndIf
      Next
   Next
   UnlockBuffer BackBuffer()
   start_index = start_index+index_plus
   If start_index=maxSinus
      start_index=0
   EndIf
   While MilliSecs()<start_time+20
   Wend
   Flip
Wend
End


Ich habe schon ziemlich oft Fragen nach Demo-/ Cracktro-/ Retroeffekten gelesen.

Was hälst Du/ Ihr davon einen Sammelthread aufzumachen? Das würde viele interessieren glaube ich!


Viele Grüße,
Flusher

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group