Bilder weich einblenden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mabox

Betreff: Bilder weich einblenden

BeitragDi, Apr 24, 2007 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie blende ich ein Bild im 2D Modus weich über ein anderes ein ?
Zwischen den Bildern soll ein schöner übergang entstehen.
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

Christoph

BeitragDi, Apr 24, 2007 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, mit 2D wirds langsam werden. Wenn du gefaktes 2D (also 3D-Sprites) nimmst, wirds schneller. Willst du wirklich nur 2D musst du alles selbst auslesen, berechnen, schreiben.

d.h.:

Auslesen:
ql:lockbuffer, ql:readpixelfast

Rechnen

Schreiben:
ql:lockbuffer, ql:writepixelfast

Eingeproggt

BeitragDi, Apr 24, 2007 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Und da das (bei größeren Bildern) nicht echtzeittauglich ist und vorberechnen zu ressourcenfressend ist, würd ich animierte GIFs empfehlen. Nicht die königlichste Lösung, aber ein Vorschlag.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Arrangemonk

BeitragDi, Apr 24, 2007 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
aplha frameabhängig hochfahren würd ich sagen
ingeneur

mabox

Betreff: falsch beschrieben

BeitragDi, Apr 24, 2007 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab meine Frage vielleicht etwas falsch formuliert.
Also, das Bild soll nicht eingeblendet werden sondern es soll nur einen weichen Übergang zu einem darüberliegenden Bild (mit einer durchsichtigen Stelle (Maskimage)) haben. Das untere Bild muss aber bewegt werden, deshalb ist es nicht möglich ein fertiges Bild mit weichem Übergang zu nehmen.
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

Christoph

BeitragDi, Apr 24, 2007 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
wie gesagt:

->jeden Pixel einzeln auslesen

->Falls Maskimagefarbe wird nichts getan

->Falls eine andere Farbe:

->->zwischenwert berechnen

->->pixel mit entsprechender Farbe einzeichnen

ich hoffe, du hast entweder einen schnellen PC oder es wird nicht echtzeit angewand, denn langsam wirds mit 2D sicherlich

mabox

Betreff: naja

BeitragMi, Apr 25, 2007 13:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn das so ist (denn mein PC ist schon ziemlich lahm (256 MB Ram, 800 Mhz, Grafikspeicher 32 MB)) dann schreib ich lieber das ganze Game um und nehm lieber 3D Sprites.
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

Christoph

BeitragMi, Apr 25, 2007 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
da wirst du allerdings "Probleme" mit Maskimage bekommen, weil es Maskimage bei Texturen nicht gibt.

Lösung:

Bearbeite das Bild (dass in diesem Fall ja eine Textur ist) so, dass eine bestimmte Farbe auf Alpha=0 eingestellt wird. Dazu musst du am ANFANG des Programmes alle Pixel auslesen, und falls es die gewünschte Farbe ist, wie gesagt das alpha auf 0 setzen (ql:writepixelfast)
 

ChristianK

BeitragMi, Apr 25, 2007 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du nimmst png und bearbeitest den Alpha-Kanal so, dass die Stellen, die transparent sein sollen einen Alpha-Wert von 0 haben ( z.B. mit PaintShop ).

Wenn du pixelgenaue Kollision benutzen willst, wird das in 3D auch ein Problem sein, da das alles ja auf Polygonen und nicht auf Pixeln/Texeln basiert.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group