Teamfarben

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Ana

Betreff: Teamfarben

BeitragMi, Mai 27, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Heyho,
ich hab zwar im codearchiv schon was zum ändern der texturen so das bestimmte farben "variabel" werden gefunden, allerdings sind da einige befehle die nur im 3D Modus funktionieren dabei, gibt des zu denen equivaltene in 2D? Verstanden wie es funktioniert hab ich zwar kenn aber einfach nicht die befehle ...

Vielen danke schon mal

Der Code den ich gefunden hab, ist von dem guten Lord_Vader

Code: [AUSKLAPPEN]

Graphics 1024,768

;Hier muss die Teamfarbe angegeben werden:
r=255
g=100
b=0
teamcolor= r*$10000 + g*$100 + b

;Und hier die Textur (Datei)

texturefile$="figur.bmp"

;Hier LoadTexture oder loadanimtexture!

texture=LoadTexture(texturefile$)

;Der Buffer indem die Textur bearbeitet wird!
SetBuffer TextureBuffer(texture)

xtex=TextureWidth(texture)
ytex=TextureHeight(texture)

;Die hier blauen Pixel gegen die ausgewählte Farbe ersetzen!
x=0
y=0

Repeat

rgb=ReadPixel( x,y ) And $FFFFFF
r=(rgb And $FF0000)/$10000
g=(rgb And $FF00)/$100
b= rgb And $FF

If r=0 And g=0 And b=255 Then


WritePixel x, y, teamcolor

End If

x=x+1

If x>xtex Then y=y+1 Mad=0

Until y>ytex
 

n-Halbleiter

BeitragMi, Mai 27, 2009 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
An sich ist das ja ein funktionierender Code, du musst nur sämtliche Befehle, die "Texture" enthalten, durch ihre äquivalenten mit "Image" ersetzen, so zum Bespiel "TextureBuffer" in "ImageBuffer".
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

Ana

BeitragMi, Mai 27, 2009 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah primar muss ja nicht alles im leben schwer sein Smile

danke schön
 

n-Halbleiter

BeitragMi, Mai 27, 2009 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Keine große Sache, Ich würde dir allerdings noch empfehlen, anstatt Write-/Readpixel die -fast Befehle zu verwenden. Dafür musst du zwar den Buffer sperren (Lockbuffer) und nachher wieder freigeben, aber das sind an sich ja nur noch zwei kleine Zeilen mehr.
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

Lord_Vader

BeitragDo, Mai 28, 2009 2:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh ja lange her ist das Wink

Ja das ist schon ok für 2D. Allerdings wäre es noch gut einen farbbereich für die zu ersetzenden pixel anzugeben zB in hex oder in RGB dezimal von zB Rot 0-120 Grün 200-230 usw...

Dann kann man auch schattierungen mitumwandeln. Am einfachsten wäre es nur grautöne (also wo R, G und B gleich sind) umzuwandeln und diese mit den teamfarben zu mischen.

Zudem Writepixel und Readpixel: Ich würde die texturen laden, neue texturen für die farben erstellen und zwar beim Laden des spiels oder beim programmstart, je nachdem ob es einstellbare oder feste farben sind...

Edit: Und ja lockbuffer ist schneller. Brauchte ich nur nicht für 32x32 gepixelte grafiken Wink War auch nurn beispielcode soweit ich weis Smile

Holzchopf

Meisterpacker

BeitragDo, Mai 28, 2009 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut mir leid, ich dachte, ich hätte den Code seit Jahren im Archiv Confused Ich habs jetzt aber nachgeholt...
... jetzt findest du hier im Codearchiv ganz lustige Funktionen, mit denen man in Bildern einzelne Farbtöne verschieben kann (Rot -> Dunkelgrün oder Grün -> Blasstürkis) und dabei Schattierungen und Highlights beibehalten kann.

Um das ganze 3D- (Textur-) Fähig zu machen, muss afaik nur die Funktion Colorize überarbeitet werden, sollte dich also nicht mit Arbeit erschlagen =)

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group