SetMaskColor
Übersicht

MunchBetreff: SetMaskColor |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi leutz,
wenn ich ein Bild drehe wird der zu Maskierende bereich Schwarz, und ist net mehr Transparent da ich lila als Maskenfarbe gewählt habe. Jetzt nutze ich die BlitzBasic Demo, das Problem ist das da der Befehl den ich warscheinlich brauche (SetMaskColor) nicht zu gebrauchen ist, oder lieg ich da falsch? Kann mir einer sagen wie ich das Anders machen kann? gruß munch |
||
MegaTefyt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie dir sicher auch andere raten werden: benutz vorberechnete Bilder und keine Echtzeitrotation (aus Performance-Gründen vor allem, aber das behebt auch dein Problem ![]() |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Der Befehl heisst ql:maskimage in Blitzbasic (ich glaube SetMaskColor ist Bmax)
2. zeig mal den code-teil, in dem du die bilder drehst |
||
Munch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] ;------------Variablen--------------
Dim Car1(360) ;-----------Grafiken Laden---------- TFormFilter 0 ;Autos For winkel = 0 To 359 Car1(winkel)=LoadImage("gfx/CF1.bmp") MidHandle Car1(winkel) RotateImage Car1(winkel),winkel MaskImage Car1(winkel),255,0,255 Next |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigenartig, das sollt eigentlich so funktionieren... Wenn es auch ein wenig lahmarschig sein dürfte ![]() |
||
Munch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es funktioniert soweit auch. Das mit Copyimage ist ne gute idee. Das Problem ist nur, das die Maskenfarbe lila ist. Wenn der das Bild dreht macht der das neue Bild an den stellen wo es gedreht wurde Schwarz. Das heißt das grundbild ist lila und wird transparent im game, aber der überschüssige rand beim drehen ist schwarz und wird nicht transperent. Jetzt bdachte ich das man mit Setmaskcolor bestimmen kann welche Farbe der beim drehen nimmt. Geht das nicht mit dem Befehl? Er geht aber nicht unter BlitzBasic, also bräucht ich ne andere möglichkeit wenn ich das nicht von Hand machen will... | ||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
ne billige variante wäre es ein neues image in der gleichen größe zu erstellen dann mit color + rect in deiner maskenfarbe draufmalen und dann mit drawimage das bereits rotierte bild wieder draufzupinseln...
Code: [AUSKLAPPEN] ;------------Variablen--------------
Dim Car1(360) ;-----------Grafiken Laden---------- TFormFilter 0 car1(0)=LoadImage("gfx/CF1.bmp") MidHandle car1(0) MaskImage Car1(0),255,0,255 ;Autos For winkel = 1 To 359 temp = copyimage(car1(0)) MidHandle temp RotateImage temp,winkel car1(winkel) = createimage (imagewidth(temp),imageheight(temp)) setbuffer imagebuffer(car1(winkel)) color 255,0,255 ;oder so rect 0,0,imagewidth(temp),imageheight(temp),1 drawimage temp,imagewidth(temp)/2,imageheight(temp)/2 freeimage temp MaskImage Car1(winkel),255,0,255 Next mal auf die schnelle und nicht getestet... |
||
Munch |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab grade erstmal das ganze mit Copyimage gemacht und jetzt funktioniert es aufeinmal auch mit der Maskenfarbe. Kann ich mir zwar net ganz erklären, aber naja gut so ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Grundregel: Erst Maskimage, dann RotateImage. Dann klappt's auch beim Nachbarn. MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
da hab ich auch mal wieder was gelernt... | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group