TV-Rauschflimmer-Effekt mit BB machen
Übersicht
BlitzBasic
Beginners-Corner
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
BlitzBasic
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group
