Masken?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Delle
Beiträge: 1118
Registriert: 10.05.2005 22:48

Masken?

Beitrag von Delle »

Hallo,

gibt es in PB eigentlich sowas wie Masken?

Würde z.B. gern vorn ein Logo haben wo im Hintergrund solche Amiga-Copperbars durchlaufen:

http://www.youtube.com/watch?v=nv8_fMl2nPw
PB 6.02 LTS + Win 11
Drago
Beiträge: 148
Registriert: 02.02.2010 18:22
Computerausstattung: Win XP SP3, AMD Sempron (MMX) 1.2 GHz, 512 MB, Nvidia GeForce FX 5200, 128 MB, DirectX 9.0c
Wohnort: Westerwald

Re: Masken?

Beitrag von Drago »

Nimm einfach ein paar Sprites als farbige Balken und einen schwarzen (oder wie auch immer ) Hintergrund, wo das Logo transparent drauf gemalt ist. Dann zuerst die Balken auf den Bildschirm bringen, das Hintergrundsprite drüber und habe fertig......

LG Drago
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Re: Masken?

Beitrag von Vermilion »

Also mit der 2D Drawing Library geht das klar. Aber mit Sprites nicht.

(AFAIK)
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Derren
Beiträge: 557
Registriert: 23.07.2011 02:08

Re: Masken?

Beitrag von Derren »

Logisch geht das mit Sprites.
Einfach eine Maske erstellen (alles schwarz, das Logo in einer anderen Farbe z.B. Pink (255,0,255))
Dann TransparentSpriteColor(#Maske, $FF00FF)

Dann die farbigen Streifen mit DisplaySprite(#ColoredBar1, X, Y)
DisplaySprite(#ColoredBar2, X, Y+height)
DisplaySprite(#ColoredBar3, X, Y+(height*2))
etc anzeigen und Y in jedem Schleifendurchlauf um ein paar Pixel (je nach Geschwindigkeit) verringern. Aber nicht vergessen wieder von vorne anzufangen, sonst rauschen die farbigen Balken in die Unendlichkeit.
Und dann DisplayTransparentSprite(#Maske, X, Y)
Signatur und so
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Re: Masken?

Beitrag von Vermilion »

Das musste ich jetzt drei Mal lesen. Aber stimmt, du hast Recht. Es ist aber ein komplett anderer Ansatz. Man hat schon drei fertige, transparente Sprites, die man nur hintereinander nach anzeigt.
Derren
Beiträge: 557
Registriert: 23.07.2011 02:08

Re: Masken?

Beitrag von Derren »

Hä?
Es ist genau das, was er will. Eine Maske, also eine Ebene, die an bestimmten Stellen durchsichtig ist.
Was hat das mit 3 Sprites zu tun?
Ob du die "Copperbars" als Sprite lädst, zur Laufzeit auf ein Sprite malst, oder direkt auf den Screen pinselst is doch wurscht.
Signatur und so
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Re: Masken?

Beitrag von Vermilion »

Delles Aussage habe ich so interpretiert, dass er das auch gerne animiert haben möchte, wie im Beispiel. Er schrubbte auch "durchlaufen"... Kann sein, dass ich es falsch verstanden habe.
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Masken?

Beitrag von DarkDragon »

Vermilion hat geschrieben:Delles Aussage habe ich so interpretiert, dass er das auch gerne animiert haben möchte, wie im Beispiel. Er schrubbte auch "durchlaufen"... Kann sein, dass ich es falsch verstanden habe.
Das hat Derren doch auch gemeint mit "etc anzeigen und Y in jedem Schleifendurchlauf um ein paar Pixel (je nach Geschwindigkeit) verringern".

Der einzige Nachteil Derrens Methode ist, dass er dahinter nichts anzeigen kann.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Derren
Beiträge: 557
Registriert: 23.07.2011 02:08

Re: Masken?

Beitrag von Derren »

Was willst du denn dahinter anzeigen?
Da sind doch die farbigen Balken.

Doppelmaskierung geht halt nicht, aber das war ja auch nicht gefragt.

z.B. eine Maske, aus der eine Figur ausgeschnitten ist, die hinter dem Logo, aber vor den farbigen Balken hin und her "wandert". Da müsste man halt direkt auf das Sprite malen, bzw auf Kopien des Sprites.
Signatur und so
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Masken?

Beitrag von DarkDragon »

Derren hat geschrieben:Was willst du denn dahinter anzeigen?
Ich garnichts, ich hab nur Vermilion erklärt, wie du es gemeint hast.
Derren hat geschrieben:Da sind doch die farbigen Balken.
Man kann jedoch nicht davon ausgehen, dass er exakt das nachproduzieren will. Er nannte dieses Video nur als Beispiel.
Nicht so agressiv werden, Derren! Deine Methode ist die schnellste, die bisher genannt wurde, weil sie hardwarebeschleunigt arbeitet. Sie ist nur nicht so flexibel.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten