MiniB3D Textur wechseln

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Midimaster

Betreff: MiniB3D Textur wechseln

BeitragDo, März 10, 2016 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe einen Würfel mit einer Pixmap-Textur. Das Pixmap wird laufend verändert, aber auf dem Würfel erscheint immer die zuerst geladene Textur. Was mache ich falsch?

In einer Autorennsimulation soll eine Stoppuhr neben der Strecke stehen und laufend die Zeit anzeigen. Dazu erstelle ich 1x pro Sekunde eine Pixmap, die ich dann zu einer Textur mache, die ich dann der Entity zuordne.

Beim ersten Mal gelingt das auch, allerdings läuft die Uhr dann nicht weiter:

user posted image

Das Bild zeigt in der Mitte den Cube mit der Textur. Links oben zeige ich als Beleg die veränderte Pixmap an.


Hier der Quellcode:
BlitzMax: [AUSKLAPPEN]

Uhr:TEntity= CreateCube()
PositionEntity Uhr,-3,1,13
ScaleEntity Uhr,1,1,.1
....

Function MalenNachFlip()

BeginMax2D
Cls
SetScale 10,10
SetColor 255,255,0
DrawText UhrZeit$,0,0

UhrAnzeige:TPixmap=GrabPixmap(0,0,256,256)
Cls
EndMax2D
Local locUhrTex:TTexture=LoadPixTexture(UhrAnzeige)
Uhr.EntityTexture locUhrTex,0,0
End Function


Die Funktion LoadPixTextur habe ich in MiniB3D angepasst, sodas sie jetzt auch Pixmaps direkt übernehmen kann, statt sie von File zu laden.

BlitzMax: [AUSKLAPPEN]


Function LoadPixTexture:TTexture(pix:TPixmap,flags:Int=1)
Return TTexture.LoadAnimTexture:TTexture("",flags,0,0,0,1,Null,pix)
End Function


Function LoadAnimTexture:TTexture(file$,flags:Int,frame_width:Int,frame_height:Int,first_frame:Int,frame_count:Int,tex:TTexture=Null,pix:TPixmap=Null)

If flags&128 Then Return LoadCubeMapTexture(file$,flags,tex)

If tex=Null Then tex:TTexture=New TTexture
If pix=Null
If FileFind(file$)=False Then Return Null

tex.file$=file$
tex.file_abs$=FileAbs$(file$)
tex.pixmap=LoadPixmap(file$)
Else
tex.pixmap=pix
If tex.pixmap=Null
Print " kein pixmap"
DebugStop
EndIf
EndIf
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group