Hilfe, Transparenz funktioniert nur bei mir :(
Wie gesagt, PB hat einen Fehler bei der Farbumrechnung.
128,128,128 gibts bei PB eben nicht im 16bit modus.
Warum machst du nicht 255,0,255 als transparente Farbe? Die Farbe braucht man in der Regel eh nie.
128,128,128 gibts bei PB eben nicht im 16bit modus.
Warum machst du nicht 255,0,255 als transparente Farbe? Die Farbe braucht man in der Regel eh nie.
besucht http://www.dark-matter-soft.de
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@Little:
meintest du jetzt eigentlich 16bit mode oder 16-farben mode?
bei 16bit-mode:
probier mal bei dem alten sprite die farbe (0,16,0) als transparent einzustellen,
(und auch mal (0,15,0) zur sicherheit)
das müsste das grün sein, das (0,128,0) in 24bit- und 32bit-mode entspricht.
bei 16-farben-mode:
bin mir nicht sicher, ob da eine transparenz gibt,
die müsste dann mit dem palettenindex aktiviert werden,
aber TransparentSpriteColor(#,4) geht glaubich nicht.
meintest du jetzt eigentlich 16bit mode oder 16-farben mode?
bei 16bit-mode:
probier mal bei dem alten sprite die farbe (0,16,0) als transparent einzustellen,
(und auch mal (0,15,0) zur sicherheit)
das müsste das grün sein, das (0,128,0) in 24bit- und 32bit-mode entspricht.
bei 16-farben-mode:
bin mir nicht sicher, ob da eine transparenz gibt,
die müsste dann mit dem palettenindex aktiviert werden,
aber TransparentSpriteColor(#,4) geht glaubich nicht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
ich hab das auchs schon mit [c]RGB(255, 0, 255)[/c] gestestet, gleiches ergebniss, die Farbe wurde nicht transparent dargestellt
. Übrigens ich hab den Code so geschrieben, dass er die Farbe des 1. Pixel ermittelt und als Transparenz darstellt.
@ Kaeru
Ich meinte den 16 Farben Mode. Und ich meinte, das die Farbe [c]RGB(0, 128, 0)[/c] eigentlich so ziehmlich unter jedem Modus verfügbar sein müsste.
[Edit:]
Ich hab mal das Programm ohne Sprite3D getestet und da funktioniert die transparente darstellung
@ Kaeru
Ich meinte den 16 Farben Mode. Und ich meinte, das die Farbe [c]RGB(0, 128, 0)[/c] eigentlich so ziehmlich unter jedem Modus verfügbar sein müsste.
[Edit:]
Ich hab mal das Programm ohne Sprite3D getestet und da funktioniert die transparente darstellung
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ja, das habe ich verstanden, darum meinte ich ja, vielleicht irgentwie den paletteneintrag '4' zu benennen, das ist grün128 in der 16er palette.
wenn es allerdings ohne sprite3D funzt, hast du vorher die transparent-farbe nach der sprite3D-Nr. oder nach der texture-sprite-Nr. zugeordnet?
wenn es allerdings ohne sprite3D funzt, hast du vorher die transparent-farbe nach der sprite3D-Nr. oder nach der texture-sprite-Nr. zugeordnet?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Palette?
Vieleicht brauchst du ja ne feste Palette........
Mach dir doch ne Paletten-Datei. So hat dann jeder Benutzer deines Programmes die gleiche Palette für die Sprites ?
O_\
. /
Mach dir doch ne Paletten-Datei. So hat dann jeder Benutzer deines Programmes die gleiche Palette für die Sprites ?
O_\
. /
mmmh... Kann ich mir aber nciht vorstellen, dass ich irgendwo was vertauscht habe. Das sieht so aus:
und wenn ich dann in der Schleife das DisplaySprite3D() durch DisplaySprite() ersetze und da #sptSoldat hin mache funktionierts...
Code: Alles auswählen
LoadSprite (#sptSoldat, "gfx\Soldier0.png", #PB_Sprite_Texture)
TransparentSpriteColor(#sptSoldat, Red(GetTrans(#sptSoldat)), Green(GetTrans(#sptSoldat)), Blue(GetTrans(#sptSoldat)))
CreateSprite3D (#sptSoldat, #sp3Soldat) -
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
hm, sieht so aus, wie ichs spontan auch machen würde.
[edit]: ausse hilfe: CreateSprite3D(#Sprite3D, #Sprite) sind bei dir beide Nr.n gleich?
[edit2]
so stehts im beispiel, dann müsste deins eigentlich gehn
@Hroudtwolf: dir 16-farben palette ist grundsätzlich festgelegt, seit ega in den frühen 80ern.
stell mal in paint auf 16farben, genau die sinds immer.
[edit]: ausse hilfe: CreateSprite3D(#Sprite3D, #Sprite) sind bei dir beide Nr.n gleich?
[edit2]
Code: Alles auswählen
LoadSprite(0, "Data\Geebee2.bmp", #PB_Sprite_Texture)
CreateSprite3D(0, 0)
CreateSprite3D(1, 0)
CreateSprite3D(2, 0)
Sprite3DQuality(1)
TransparentSpriteColor(0, 255, 0, 255)@Hroudtwolf: dir 16-farben palette ist grundsätzlich festgelegt, seit ega in den frühen 80ern.
stell mal in paint auf 16farben, genau die sinds immer.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
also auf meinem System klappts problemlos ... aber ich wollt nur mal schnell erwähnen bzw das was Kaeru Gaman meinte,
die Konstanten durcheinander wirfst ... eigentlich müsste es logischerweise heißen
aber da beide Konstanten 0 sind, ist das ganze hier nicht ersichtlich
.
MFG PMV
^^Damit wollt er sagen das du bei[edit]: ausse hilfe: CreateSprite3D(#Sprite3D, #Sprite) sind bei dir beide Nr.n gleich?
Code: Alles auswählen
CreateSprite3D (#sptSoldat, #sp3Soldat) Code: Alles auswählen
CreateSprite3D (#sp3Soldat, #sptSoldat)MFG PMV
