LoadTexture liest die Datei nicht neu ein? :-(

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Specht

Betreff: LoadTexture liest die Datei nicht neu ein? :-(

BeitragDo, Dez 23, 2004 10:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Sad

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

BeitragDo, Dez 23, 2004 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 23, 2004 11:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 23, 2004 12:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 23, 2004 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Abwechselnd wird auch nur einmal gehen!

grüße
 

Specht

BeitragDo, Dez 23, 2004 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 24, 2004 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 24, 2004 0:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group