GLBasic forum

Other languages => GLBasic - de => Topic started by: CptnRoughnight on 2012-Mar-13

Title: RotoCopy Transparenz Probleme
Post by: CptnRoughnight on 2012-Mar-13
Hi Leute,
nachdem ich seid gestern diesen Threaf :

http://www.glbasic.com/forum/index.php?topic=927.15

durchforstet habe, bin ich auf ein Problem gestoßen. Die Rotation klappt soweit, ist ja auch nicht viel zu beachten, nur bei der
Darstellung der Rotationsanimation mittels Sprite_Mid wird keine Transparenz beachtet, heißt, die Sprites die mit Grabsprite
aufgenommen wurden sind in der Grundfarbe (255,0,128) und diese Pixel werden auch gezeichnet... egal ob ich mit Smoothshading hantiere oder nicht... ich hoffe ich hab nicht wieder irgendwas kleines Überlesen und danke schonmal im Voraus den Helfenden!

LG

Edit : Werde morgen ein Beispiel reinstellen, habs heute nicht mehr geschafft und vorhin vergessen, sry
Title: Re: RotoCopy Transparenz Probleme
Post by: Kitty Hello on 2012-Mar-14
mach vorher ein DRAWRECT mit der Transparenten Farbe darunter.
Title: Re: RotoCopy Transparenz Probleme
Post by: CptnRoughnight on 2012-Mar-14
Hi, das DrawRect ist schon drin, hat nichts geholfen.... Hier nun der Code

RotoCopy:

Code (glbasic) Select

// num  = das Sprite was gedreht werden soll
// drehungs_step = nächste drehung IN Grad
// Start_num ab wo die Sprites gespeichert werden.

FUNCTION RotoCopy: num, drehungs_step, start_num

LOCAL XX, YY, Spitzenmass

GETSPRITESIZE num, XX, YY

Spitzenmass = SQR( POW(XX,2) + POW(YY,2) )



FOR Winkel = 0 TO 359 STEP drehungs_step

DRAWRECT 0,0,Spitzenmass,Spitzenmass, RGB(255, 0, 128)
ROTOSPRITE num,(Spitzenmass-XX)/2, (Spitzenmass-YY)/2, Winkel

GRABSPRITE start_num + Winkel / drehungs_step, 0, 0, Spitzenmass, Spitzenmass
CLEARSCREEN
NEXT

ENDFUNCTION


SpriteMid:

Code (glbasic) Select

//Sprite mittelpunktabhängig zeichnen

FUNCTION Sprite_Mid: num, X, Y
LOCAL XX, YY
GETSPRITESIZE num , XX, YY

DRAWSPRITE num, X-XX/2, Y-YY/2

ENDFUNCTION


Die Loop:
Code (glbasic) Select

INC tank_angle, KEY(203) - KEY(205)
IF tank_angle < 0 THEN tank_angle=359
IF tank_angle > 359 THEN tank_angle=0

INC tank_speed, (KEY(200) - KEY(208)) * 0.2

tank_speed = tank_speed * 0.9 // Hier die Windkraft anpassen

INC tank_x, tank_speed *  COS(tank_angle)
INC tank_y, tank_speed * -SIN(tank_angle)

DrawMap()
Sprite_Mid(tank_angle,tank_x,tank_y)
//ROTOSPRITE 0,tank_x,tank_y,tank_angle

PRINT "Winkel :" + tank_angle,100,100

Check_Collision()

SHOWSCREEN


SMOOTHSHADING ist,wie gesagt auf False... bin da grad etwas ratlos, woran könnte es denn liegen?
LG
Title: Re: RotoCopy Transparenz Probleme
Post by: Quentin on 2012-Mar-14
nur als Idee:

Bringt es etwas, wenn du vor RotoCopy oder innerhalb der Funktion noch mal

SETTRANSPARENCY RGB(255, 0, 128)

aufrufst? Evtl. wird vorher irgendwo schon mal SETTRANSPARENCY aufgerufen? Die Einstellung gilt ja dann bis zum nächsten Aufruf von SETTRANSPARENCY.
Title: Re: RotoCopy Transparenz Probleme
Post by: CptnRoughnight on 2012-Mar-14
SETTRANSPARENCY wird direkt vor dem Aufruf von RotoCopy aufgerufen (255,0,128).. daran liegt es leider auch nicht
Title: Re: RotoCopy Transparenz Probleme
Post by: CptnRoughnight on 2012-Mar-15
Hi,

Also ich habe nochmal ein seperates Testprogramm geschrieben um die ganze Sache zu verdeutlichen. Es tritt der gleiche Effekt auf.

Eine kleine Rückmeldung ob es bei euch geht, oder wenn ihr den Fehler findet wäre cool :)

Lg

Edit: Ich hab grad herausgefunden, dass wenn ich SETTRANSPARENCY auf (0,0,0) setze dann nehmen die Augen von dem Gesicht die Hintergrundfarbe an... also geht es.. nur die (255,0,128) will er wohl nicht annehmen -.-

[attachment deleted by admin]
Title: Re: RotoCopy Transparenz Probleme
Post by: kanonet on 2012-Mar-15
Also i glaube, dass es bei mir geht...
Title: Re: RotoCopy Transparenz Probleme
Post by: CptnRoughnight on 2012-Mar-15
kein Rosa Hintergrund? nur der Blaue Hintergrund und das, sich drehende Gesicht? oO jetzt springt der Hund aus der Pfanne....
Title: Re: RotoCopy Transparenz Probleme
Post by: kanonet on 2012-Mar-15
Ja, nur blau...

EDIT: dafür ist es wirkungslos, wenn ich SETTRANSPERENCY auf eine andere Farbe ändere. Stelle ich zum Beispiel auf weiß um, dann wird zwar der rosane Rand sichtbar, jedoch bleibt das Gesicht weiß.
Title: Re: RotoCopy Transparenz Probleme
Post by: CptnRoughnight on 2012-Mar-15
Hmm interessant, dann muss es sich wohl um einen BUG handeln  :|

ist ja im Endeffekt bei mir das gleiche, auch wenn eine andere Farbe betroffen ist.

Edit: Auf meiner pandora seh ich gar nichts, so als wenn das image gar nicht da ist