Nicht alles mit SetBlend überblenden.

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Matthias

Betreff: Nicht alles mit SetBlend überblenden.

BeitragFr, Aug 24, 2007 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hay.
Also ich möchte gerne ein Land Erstellen. Und ich habe mir gedacht eine Textur zu benutzen die 256x256px groß ist diese will ich gerne auf das 5Fache scalieren also hätte dann das Map Schon eine Größe von 1280x1280px bei einem GFXSpeicherverbrauch von nicht ganz 263KB

Ok nun ist aber das Problem wenn ich diese Textur scaliere entstehen 5x5px große stücke. Und da habe ich mir überlegt eine Strucktur drüber zu blenden. Und das functioniert ja auch nur das überblenden Wirkt sich auch auf dem Bereich aus der gemasked ist also wo wasser sein soll. Und jetzt meine Frage wie kann ich das blos verhindern???

GFX Datein.
https://www.blitzforum.de/upload/file.php?id=1999

Code: [AUSKLAPPEN]


SuperStrict
'Global ScrX:Short=800,ScrY:Short=600 Graphics:TGraphics ScrX,ScrY
Global ScrX:Short=1024,ScrY:Short=768 Graphics:TGraphics(ScrX,ScrY,32,85,1) HideMouse


Local WasserImg:TImage=LoadImage("Wasser32.png")
Local StruckturImg:TImage=LoadImage("Strucktur.png")
Local ZX:Short,ZY:Short
Local AlphaPixMap:TPixmap=LoadPixmap("AlphaMap.png")
Local Alpha:Int
Local ARGB:Int

SetMaskColor(13,25,0)


Local TexturImg:TImage=LoadImage("Textur.png",MASKEDIMAGE|DYNAMICIMAGE)

Local ImgPix:TPixmap=LockImage(TexturImg:TImage)



'--------AlphaWerte übertragen--------------
For ZX=0 To 255 For ZY=0 To 255
Alpha=ReadPixel(AlphaPixMap,ZX,ZY) Shl 24 Shr 24
Alpha=Alpha Shl 24
ARGB=ReadPixel(ImgPix,ZX,ZY)+Alpha

WritePixel(ImgPix,ZX,ZY,ARGB)
Next Next
UnlockImage(TexturImg:TImage)



'-----------MainLoop----------------------
Repeat
Cls
TileImage WasserImg

TileImage StruckturImg

SetScale 3,3

SetBlend SHADEBLEND
DrawImage TexturImg,0,0
SetBlend SOLIDBLEND

'SetScale 1,1
Flip
Until KeyDown(KEY_ESCAPE)
End


Markus2

BeitragFr, Aug 24, 2007 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm als Wasser nen eigenes Objekt .

Objekt Land + grobe Map + Boden Struktur
Objekt Wasser + Wellen Struktur
 

Matthias

BeitragFr, Aug 24, 2007 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Mh na dann müste ich wohl so art Zusatz Alpha Map Layer integrieren das nur dafür da ist Bereiche zu makieren wo Wasser ist. Nur ich weiß nicht wie.
 

Dreamora

BeitragFr, Aug 24, 2007 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Das was du hier machen willst klingt eigentlich sehr nach nem Fall für TileMaps. Denn grossartig anders wirst du das nicht lösen können.

Wenn du etwas zeichnest mit nem BlendMode, dann wird das damit "an die Wand gemalt" (Backbuffer), das Objekt und sein BlendMode existieren dann nimmer weiter, nur noch das eine Bild.
Wenn du jetzt also da struktur drüber malen willst, musst du explizit nur da malen, wo du die Struktur haben wolltest an der Wand ...
Und das geht prinzipiell mit Tilemaps und layern sehr viel einfacher.

(Als BM User kann ich da nen Blick auf Vertex Mapeditor.de.vu Modul und mapeditor.de.vu empfehlen)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragFr, Aug 24, 2007 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh,
ich glaube ich habe dich mit dem anderen Mathias... verwechselt Embarassed

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group