LoadTexture liest die Datei nicht neu ein? :-(
Übersicht

SpechtBetreff: LoadTexture liest die Datei nicht neu ein? :-( |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
habe ein kleines Programm geschrieben, dass ein Bitmap auf einen zylinder legt. Das Bitmap verändert sich durch ein Thirdparty-Tool alle 20 Sekunden. (variabel) Wenn ich das Bitmap überprüfe und die Textur mit Loadtexture(Dateiname) neu lade und diese auf das Objekt lege, habe ich immer noch das alte Bild. Wenn ich einen anderen Dateinamen nehme, als den zuvor, funktioniert es. Habe es auch schon mit Freetexture probiert, aber keinen Erfolg gehabt. ![]() Folgender Code wird alle paar Sekunden oder per tastendruck aufgerufen: Code: [AUSKLAPPEN] Texture = LoadTexture("test.bmp") EntityTexture Zylinder, Texture RotateTexture Texture,90 FreeTexture Texture |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Ich nehm an, das BlitzBasic sowas wie einen Texturemanager hat, welcher die Texturen nur einmal läd. Wenn also der Dateiname deiner alten Textur schon in der Liste steht wird sie nicht nochmals geladen... Warum FreeTexture nicht funktioniert ist mir allerdings nicht ganz klar. grüße |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Yap, BB lädt jeden Textur dateinamen nur 1x
--> Textur laden, Textur datei löschen, Textur mit anderen namen anlegen. |
||
between angels and insects |
Specht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Löschen ist leider nicht, da das bmp noch anderweitig gebraucht wird.
"Leihe" mir das bmp praktisch nur für die Textur. Kopiere jetzt das bmp vorher entweder in tex0.bmp oder tex1.bmp (immer abwechselnd) und lade die textur dann davon. Schade, aber muss wohl so sein. Grüße |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Abwechselnd wird auch nur einmal gehen! grüße |
||
Specht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nö, funktioniert wunderbar. Die Dateinamen wechseln sich ja gegenseitig ab.
B3D hat nur Probleme, wenn ich den gleichen Dateinamen mehrmals hintereinander einer Texturvariable zuweise. Wenn ich dann entitytexture sage, hab ich trotzdem noch die alte. |
||
![]() |
Shodan |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab noch nicht probiert, ob das funzt:
schleife -Lade das Bild in einem Image mit LoadImage -Kopiere den Inhalt in den Buffer der Textur -Lösch das Image schleifen ende |
||
www.selfmadegames.de |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das verhalten ist so gewollt, damit wenn mehrere Modelle die gleiche Textur drauf haben, die Textur nicht mehrfach geladen wird.
Wenn du Freetexture machst und noch irgendwo eine Referez auf die Textur ist, wird ihr name nicht aus dem System entfernt durch den Texturmanager wie es scheint. ( hat ja gute und so auch gewollte effekte wie eben das verhindern von doppelt laden etc ) Versuch doch ma ne "Löschtextur" zu machen ( 2x2 einfach schwarz ) die du über den zylinder klebst vor dem free und so die Referenz aufhebst und schau ob dann das laden so geht wie es soll. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group