Hi,
ich bin der neue hier im Forum =D.
Vorhin bin ich auf ein Problem gestoßen. Ich hab ein Kreisbild mit LoadSprite geladen, und musste feststellen, dass ich es nicht farblich ändern konnte O.o... Und bevor ich 100.000 verschieden farbige Bilder erstelle, hab ich einfach ein Codeschnipsel geschrieben.
FUNCTION DrawSprite2: num%,x%,y%,red%,green%,blue%
LOCAL width%,height%, colour% = RGB(red,green,blue)
GETSPRITESIZE num,width,height
STARTPOLY num
POLYVECTOR x,y, 0,0, colour
POLYVECTOR x,y+height,0,height,colour
POLYVECTOR x+width,y+height ,width,height,colour
POLYVECTOR x+width,y,width,0,colour
ENDPOLY
ENDFUNCTION
ich hoffe es hilft auch anderen Personen
Gruß SharkRoyal
Hi und willkommen im Forum:
Zu dem Codeschnipsel:
Schön das du deine Erfahrungen gleich teilst!
Du brauchst jedoch nur bei der deklaration der Variablen ein % oder # angeben.
Im weiteren Code wird die Variable also als Float oder Integer weiter als solche behandelt. ( Spare Tiparbeit, weil Programmierer sind ja "faule" Menschen :D )
[Google Translate:]
Überall, wo Sie verwenden:
'red%, blue%, green%'
es sein sollte:
'red%, green%, blue%'
Der "RGB () 'Befehl (R) ed (G) rün (B) lau.
Oder geben Sie einfach die letzte Farbe, um die Funktion als "Farbe%", und verwenden Sie nicht "RGB ()" in der Funktion, sondern nutzen "RGB ()" beim Aufruf der Funktion.
Aber, schön und einfach funktionieren!
[Original English:]
Everywhere you use:
'red%,blue%,green%'
it should be:
'red%,green%,blue%'
The 'RGB()' command is (R)ed (G)reen (B)lue.
Or, just pass the final colour to the function as 'colour%', and don't use 'RGB()' in the function, but use 'RGB()' when calling the function.
But, nice and simple function!
ohhh
Thank you. I didn't saw, that i switch green and blue paramaters. Thank you
But i change it.
Ich hab jetzt auch noch die % zeichen entfernt, damit man den Überblick leichter behält.
Und nochmal Danke für euer Lob.
ciao
Hi Shark,
Was dir Slydog mit seiner Google-Translation noch sagen wollte ist, dass du nur einmal RGB() aufrufen musst. Also einmal vor dem STARTPOLY color%=RGB(red, green, blue), da kommt dann eine Decimalzahl raus (z.B wird aus 255,0,0 -> 16711680). POLYVECTOR nimmt dann auch die Variable color%. Ist schneller und hübscher!
Wenn du das noch veränderst, ist´s perfekt. :)
Achso, gut zu wissen.
Danke, habs nun geändert