TV-Rauschflimmer-Effekt mit BB machen
Übersicht

BlizzardBetreff: TV-Rauschflimmer-Effekt mit BB machen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie macht man so einen Effekt wie man ihn im TV sieht, wenn kein Programm mehr läuft und der Screen s/w flimmert?
Einfach per Random schwarze bzw. weiße Pixel auf den Screen zeichnen? |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Hab hier mal kurz was zusammen geschnipzelt. Könnte vieleicht ein Grundgerüst für sowas sein. Vieleicht kannst ja was damit anfangen. Code: [AUSKLAPPEN] Graphics 640, 480, 16, 2 SetBuffer BackBuffer() SeedRnd MilliSecs() Repeat Cls For x = 1 To 640 For y = 1 To 480 If d = 1 Then Color 255, 255, 255 Plot Rand(0,640),Rand(0,480) d = 2 Else Color 0, 0, 0 Plot Rand(0, 640),Rand(0,480) d = 1 EndIf Next Next Flip Until KeyHit(1) End Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
bin wohl zu langsam ![]() dafür ist mein beispiel schnellerer ![]() hier mit writepixelfast, schau in der OH nach da ist fast genauso ein beispiel! Code: [AUSKLAPPEN] Graphics 640,480,0,2 SetBuffer BackBuffer() repeat LockBuffer BackBuffer() For i=0 To 640 For j = 1 To 480 t = Rand(0,1) If t = 0 Then a=0 r=255 g = 255 b=255 Else a=0 r=0 g = 0 b=0 EndIf rgb=a*$1000000 + r*$10000 + g*$100 + b WritePixelFast i,j,rgb Next Next UnlockBuffer BackBuffer() Flip until keyhit(1) End |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Nicht ganz ![]() Bei mir kommt nämlich nur ein schönes Memory access violation. Bei WritePixelFast i,j,rgb. Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
Blizzard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das kommt etwa hin... aber beide noch bischen zu langsam ![]() Vielleicht sollte man auch noch aller 2 Pixel eine "Scanline" einbauen, dann sieht es mehr nach TV aus. Und irgendwie überwiegt das weiß... |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
ne also plot ist echt zu lahm.
das beispiel von noir ist aber echt ... echt ![]() |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DarkAngel hat Folgendes geschrieben: Moin,
Nicht ganz ![]() Bei mir kommt nämlich nur ein schönes Memory access violation. Bei WritePixelFast i,j,rgb. Thx DarkAngel bei mir nicht! welche bb version hast du denn? |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, mit debugger ist das von noir bei mir auch langsam.
wenn ich ihn abschalte gehts aber gut. |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
genau ![]() steht glaub ich auch in der OH drinnen. |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Programmierfehler! (ha, jetzt hab ichs ihm gegeben)
noir hat Folgendes geschrieben: Code: [AUSKLAPPEN]
For i=0 To 640 For j = 1 To 480 ... Next Next Der Backbuffer geht von 0 bis 639 bzw. von 0 bis 479. Deswegen kommt bei manchen ein Memory Access Violation. MfG D2006 |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
D2006 hat Folgendes geschrieben: Programmierfehler! (ha, jetzt hab ichs ihm gegeben) ich zittere, ich zittere ![]() hast recht ![]() ich hab das in ner halben minute zusammen gebastelt, beispiel aus der oh kopiert, schnell ne kleinigkeit verändert und fertig ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur als Tipp. Im Forum auf Blitzbasic.com gab es einen schönen Code dafür. war mit sprites umgesetzt, lief schön flüssig, wirklich nett. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ..... For i=0 To 640 Step 2 For j = 1 To 480 Step 2 .... => Das Weiß uberweigt nicht mehr so startk un es läuf ein bisschen schneller ...... |
||
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf ! |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das hatte ich auch ausprobiert, aber ich finde das sieht scheiße aus und außerdem is mein beispiel, jedenfalls bei mir schnell genug ![]() |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
nee das sieht nicht mehr echt aus
was noch annähernd geht ist folgendes: Code: [AUSKLAPPEN] Graphics 640,480,0,2 SetBuffer BackBuffer() Repeat LockBuffer BackBuffer() For i=0 To 640 Step 2 For j = 1 To 480 t = Rand(0,1) If t = 0 Then a=0 r=255 g = 255 b=255 Else a=0 r=0 g = 0 b=0 EndIf rgb=a*$1000000 + r*$10000 + g*$100 + b WritePixelFast i,j,rgb WritePixelFast i+1,j,rgb Next Next UnlockBuffer BackBuffer() Flip Until KeyHit(1) End |
||
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alles viel zu langsam ![]() Code: [AUSKLAPPEN] Global ResX = 640 Global ResY = 480 Graphics ResX, ResY, 16, 2 Dim Rauschen(10) Text ResX/2, ResY/2, "Bitte warten...", 1 For i = 0 To 9 Rauschen(i) = CreateImage(ResX, ResY) SetBuffer ImageBuffer(Rauschen(i)) For y = 0 To ResY Step 1 For x = 0 To ResX Step 2 z = Rnd(1) If z = 1 Then Color 255,255,255 If z = 0 Then Color 0,0,0 Rect x,y,2,1,1 Next Next Next SetBuffer BackBuffer() Repeat Cls DrawImage Rauschen(f), 0,0 If MilliSecs() - Timer1 > 30 Then f = f + 1 If f = 10 Then f = 0 Timer1 = MilliSecs() EndIf Flip Until KeyHit(1) End |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Travis dein beispiel ist ja quasi "vorgerendert". ![]() @Spikespinenur wegen dieser änderung postest du nochmal den ganze code: 640 Step 2 ??? |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
versucht das mal!Code: [AUSKLAPPEN] Graphics 640,480,16,2
SetBuffer BackBuffer() Repeat Cls LockBuffer BackBuffer() For i=0 To 639 Step 2 For j = 0 To 479 t = Rand(0,1) If t = 1 Then WritePixelFast i,j,$ffffff WritePixelFast i+1,j,$ffffff EndIf Next Next UnlockBuffer BackBuffer() Flip Until KeyHit(1) End und hier der neue Bildschirmschoner mit einer scanline Fehlt nur der Ton noch!Code: [AUSKLAPPEN] Graphics 640 ,480,16,1
SetBuffer BackBuffer () ClsColor 0 ,0, $ffffff Repeat Cls LockBuffer BackBuffer () ScanLine = (ScanLine + 10) Mod 478 For j = 0 To 479 For i = 0 To 639 Step 2 t = Rand (0 ,1) If t = 1 Then WritePixelFast i,j,0 WritePixelFast i + 1 ,j,0 EndIf Next If j = ScanLine Then j = j + 2 Next UnlockBuffer BackBuffer () Flip 0 Until KeyHit (1) End |
||
[BB2D | BB3D | BB+]
|
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das sieht eher aus, als würde jemand mit riesigen Scancodes mein Auge belästigen ![]() |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich konnte es mal wieder nicht lassen!Code: [AUSKLAPPEN] Graphics 640 ,480,16,0
SetBuffer BackBuffer () SeedRnd (MilliSecs () ) ClsColor 0 ,0, $ffffff Color 0 ,0, 255 Dim img (1000) ,FPS (3) For t = 0 To 1000 img (t) = CreateImage (640 ,1) SetBuffer ImageBuffer (img (t) ) LockBuffer For i = 0 To 639 dummy = Rand (1 ,10) Select dummy Case 1 ,2,3,4,5,6 WritePixel i,0, 0 Case 7 WritePixelFast i,0, $181818 Case 8 WritePixelFast i,0, $f8f8f8 Default WritePixelFast i,0, $ffffff End Select Next UnlockBuffer Next hg= CreateImage (60,15) SetBuffer BackBuffer () Repeat Cls j = (j + 10) Mod 478 For i = 0 To 479 DrawBlock img (Rand (0 ,1000) ) ,0,i If i = j Then i = i + 2 Next DrawBlock hg,0,0 Text 0 ,0,"FPS:" + FPS (1) : FPS (2) = FPS (2) + 1 : If MilliSecs () > FPS (3) + 999 Then FPS (1) = FPS (2) : FPS (2) = 0 : FPS (3) = MilliSecs () Flip 1 Until KeyHit (1) End |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group