Image Befehle funktionieren nicht mit Textur eines Sprites
Übersicht

![]() |
BigSnakeBetreff: Image Befehle funktionieren nicht mit Textur eines Sprites |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Sprite wird mit folgendem Code erstellt :
Code: [AUSKLAPPEN] Function spReCreate(parSprite.spSprite,parWidth=100,parHeight=100) If Not parSprite\Sprite Then ; Der Sprite existiert noch nicht parSprite\Sprite = CreateSprite() EndIf parSprite\X = 0 parSprite\Y = 0 parSprite\Width = parWidth parSprite\Height = parHeight parSprite\Angle = 0.0 parSprite\Visible = True If parSprite\Texture Then parSprite\TexWidth = TextureWidth(parSprite\Texture) parSprite\TexHeight = TextureHeight(parSprite\Texture) Else parSprite\TexWidth = 0 parSprite\TexHeight = 0 EndIf ScaleSprite parSprite\Sprite,parWidth/2,parHeight/2 End Function Code: [AUSKLAPPEN] Function asCreatePart(Cycle,Layer,X,Y,Width,Height) ; Sucht nach einem freien Slot Local c,void,tx,ty For c = 1 To asMAX_PARTS If Not asProject\Part[c]\Used Exit Next ; Erstellt den Sprite im Slot spReCreate(asProject\Part[c]\Sprite,Width,Height) ; Speichert die Identifizierungs Daten asProject\Part[c]\Cycle = Cycle asProject\Part[c]\Layer = Layer asProject\Part[c]\X = X asProject\Part[c]\Y = Y asProject\Part[c]\Width = Width asProject\Part[c]\Height = Height asIndexCount = asIndexCount + 1 asProject\Part[c]\Index = asIndexCount ; Macht den neuen Part zum aktiven asInterface\CurPart = asProject\Part[c]\Index asInterface\CurPartIndex = c ; Texturiert ihn mit der durchsichtigen Standart Textur asProject\Part[c]\Sprite\Texture = CreateTexture(Width,Height,4) SetBuffer TextureBuffer(asProject\Part[c]\Sprite\Texture) For tx = 0 To TextureWidth(asProject\Part[c]\Sprite\Texture)-1 Step 1 For ty = 0 To TextureHeight(asProject\Part[c]\Sprite\Texture)-1 Step 1 WritePixel tx,ty,0 Next Next SetBuffer BackBuffer() EntityTexture asProject\Part[c]\Sprite\Sprite,asProject\Part[c]\Sprite\Texture ; Erneuert die Anzeige der 3d Elemente asInterface\UpdateAll = True End Function Soweit alles ok. Der Sprite ist unsichtbar, wie es sein soll. Nun will ich aber ein Image auf die Textur zeichnen. Das funktioniert aber nicht. Weder drawimage, drwablock noch copyrect funktionieren. Die normalen Zeichenfunktionen funktionieren jedoch ganz normal Code: [AUSKLAPPEN] Function asLoadFileToPart(Index,X,Y,ImageFile$) Local img = LoadImage(ImageFile) Local c For c = 1 To asMAX_PARTS Step 1 If asProject\Part[c]\Index = Index Exit Next SetBuffer TextureBuffer(asProject\Part[c]\Sprite\Texture) ; DrawImage img,0,0 Funktioniert nicht ??? ; DrawBlock funktioniert nicht ; Grafik ist geladen, da kein RuntimError ; Rect funktioniert ! ; CopyRect 0,0,100,100,0,0,ImageBuffer(img) funktioniert nicht ??? ; Warum funktionieren nur Zeichenfunktionen ? SetBuffer BackBuffer() asInterface\UpdateAll = True FreeImage img End Function |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was heisst funktioniert nicht?
Ich würd einfach sagen, du hast den CreateTexture versaut. Flag ist 4 -> Masked Da fehlt eigentlich die Flag 1 für die Color |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
BigSnake |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ändert rein gar nichts am Ergebnis und zudem funktionierte diese Funktion
Code: [AUSKLAPPEN] Function spTextureWithFile(parSprite.spSprite,TextureFile$) If parSprite\Texture Then FreeTexture parSprite\Texture parSprite\Texture = 0 EndIf parSprite\Texture = LoadTexture(TextureFile,4) parSprite\TexWidth = TextureWidth(parSprite\Texture) parSprite\TexHeight = TextureHeight(parSprite\Texture) EntityTexture parSprite\Sprite,parSprite\Texture End Function einwandfrei auch ohne Modus 1 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group