[B2D, B+] Transparentbilder in echtzeit zeichnen
Übersicht

![]() |
SmilyBetreff: [B2D, B+] Transparentbilder in echtzeit zeichnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
soo seit langem habe ich mal statt einer Spielerrei was brauchbares Fabriziert:
Benötigt werden 2 Bilder im selben ordner: img.bmp und back.bmp notfalls kritzelt ihr einfach was mit paint hin. Bei meinem PC (1,8 GHz) läuft das Programm flüssig und der effekt ist von einer "echten" transparenz nicht zu unterscheiden. Code: [AUSKLAPPEN] Graphics 800,600,16,2
timer = CreateTimer(60) tmp = LoadImage("img.bmp") back = LoadImage("back.bmp") MidHandle(tmp) sx = ImageWidth(tmp) sy = ImageHeight(tmp) img = CreateImage(sx,sy,2) MidHandle(img) For b = 0 To 1 SetBuffer ImageBuffer(img,b) DrawImage tmp,sx/2,sy/2 Color 0,0,0 For x = 0 To sx For y = 0 + (x Mod 2) - b To sy Step 2 Plot x,y next Next Next SetBuffer BackBuffer() Repeat TileBlock back, c c = C + 1 DrawImage img,mousex(), MouseY() ,c Mod 2 waittimer(timer) flip Until KeyHit(1) |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
- Zuletzt bearbeitet von Smily am Do, Mai 24, 2007 17:13, insgesamt einmal bearbeitet
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist wirklich gelungen ! Mit so wenig Code ![]() Naja, kann ich vilieicht irgentwann mal gebrauchen !! Danke ! thx und mfg ![]() Crack93 ~[edit]~ Ich hab mal daraus ne Function geschrieben : Code: [AUSKLAPPEN] Graphics 800,600,16,2
timer = CreateTimer(60) tmp = LoadImage("img.bmp") back = LoadImage("back.bmp") img = CreateTransImage(tmp) Repeat TileBlock back, c c = C + 1 DrawImage img,MouseX(), MouseY() ,c Mod 2 WaitTimer(timer) Flip Until KeyHit(1) Function CreateTransImage(Image) MidHandle Image sx = ImageWidth(Image) sy = ImageHeight(Image) img = CreateImage(sx,sy,2) MidHandle(img) mask = CreateImage(100,100) For b = 0 To 1 SetBuffer ImageBuffer(img,b) DrawImage Image,sx/2,sy/2 Color 0,0,0 For x = 0 To sx For y = 0 + (x Mod 2) - b To sy Step 2 Plot x,y Next Next Next SetBuffer BackBuffer() Return img End Function |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
TritonBetreff: Re: [B2D, B+] Transparentbilder in echtzeit zeichnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Smily0412 hat Folgendes geschrieben: Bei meinem PC (1,8 GHz) läuft das Programm flüssig und der effekt ist von einer "echten" transparenz nicht zu unterscheiden. Hmm, doch. Bei mir flimmert es. Habe 3,4 GHz und TFT. edit-- Wenn man den Timer aber auf die Bildwiederholfrequenz des Monitors einstellt (75 bei mir), dann flimmert es zumindest nicht mehr, wenn es still steht (in der Bewegung dennnoch). |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
- Zuletzt bearbeitet von Triton am Do, Mai 24, 2007 17:29, insgesamt einmal bearbeitet
![]() |
SmilyBetreff: Re: [B2D, B+] Transparentbilder in echtzeit zeichnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Triton hat Folgendes geschrieben: Smily0412 hat Folgendes geschrieben:
Bei meinem PC (1,8 GHz) läuft das Programm flüssig und der effekt ist von einer "echten" transparenz nicht zu unterscheiden. Hmm, doch. Bei mir flimmert es. Habe 3,4 GHz und TFT. wieviel FPS hat das Program bei dir? |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das flimmern kommt wohl, wegen eines nicht HighEnd-TFT-Bildschirmes, wo die Ein- und Ausschaltzeiten der Pixel unterschiedlich lang sind. Man könnte diesem Problem entgegentretten, wenn man das faketransparente Bild immer jeweils um 2 Pixel X/Y bewegen würde.
Wie sich ein TFT-Bildschirm verhält, lässt sich zB ganz schnell selbst herausfinden, indem man zB in Notepad ein Text einlädt und dann das Fenster langsam über den Bildschirm bewegt. Dabei darf sich die Gesamthelligkeit des Bildschirmes nicht ändern. Wobei man hier wirklich sehr pinibel schauen muß. Richtig schlechte Bildschirme wiederrum gehen fast aus bei sowas, nur solche werden schon seit einigen Jahren nicht mehr verkauft. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group