Prüfen, ob ein Entity existiert?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

FireballFlame

Betreff: Prüfen, ob ein Entity existiert?

BeitragDi, Jan 23, 2007 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Mal eine vielleicht etwas seltsame Frage:
Wenn man ein Entity beispielsweise mit FreeEntity löscht, ist in der Variable, die man verwendet hat, ja weiterhin die Speicheradresse enthalten... kann man irgendwie (natürlich ohne Programmabsturz ^^) prüfen, ob das Entity noch existiert?


Ein Beispiel-Code: [AUSKLAPPEN]
Graphics3D 400,300,0,2
SeedRnd MilliSecs()
x=CreateCube()
If Rand(0,1) FreeEntity x
If testfunktion(x) Print "Entity existiert noch" Else Print "Entity wurde gelöscht"
WaitKey
End



Function testfunktion(entityvar)
;[??????????]
Return ergebnis
End Function



Was müsste hier in der Funktion stehen, damit sie richtig funktioniert?
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

BladeRunner

Moderator

BeitragDi, Jan 23, 2007 0:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Um das zu umgehen setz deine Variable auf NULL wenn du das entity gelöscht hast. Das lässt sich immer überprüfen Wink

also
Code: [AUSKLAPPEN]
freeentity blub
blub = Null
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Mr.Keks

BeitragDi, Jan 23, 2007 0:17
Antworten mit Zitat
Benutzer-Profile anzeigen
@fireballflame: nein, es gibt da keine funktion.
@bladerunner: nein, das lässt sich nicht immer überprüfen. zum beispiel können ja durchaus mehrere variablen auf dasselbe entity verweisen... da ist es wirklich doof, dass man kein entityexists() hat ^^. so wird man nämlich unter umständen gezwungen, beim ende eines entities ein paar objektlisten nach verweisen auf es zu durchstöbern und diese auf null zu setzen Sad.
MrKeks.net

BladeRunner

Moderator

BeitragDi, Jan 23, 2007 0:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut, den Fall hab ich nicht bedacht. In diesem Fall hilft wohl echt nur das integerhandle in allen Objektvars zu suchen und alle entsprechenden Variablen zu Nullen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group