yes it would, but deleting an object takes more than hiding, and loading even more than unhiding. how i would do this is check every loop if the object position => 1000 or omething. if it is, than hide the object. if it isn;t, unhide the object. you can also set the fog on, so it doesn;t like the box is disapearing, but slowly fades away.
how you could code this? make an array with no items (something like ObjStreamer()) and make a function to load objects in it (something like StreamObj(ObjNum)). in that function, you increase the array by one and fill the newly created array with the object number. to make it all work, you can make a gosub in your loop that looks like this
// Here we make the array, as you can see with no items so we can
// expand it
Dim ObjStreamer() as Integer
do
// All the stuff in your game, like collision, movement etc.
// Here the object streamer
Gosub ObjectStreamer
loop
ObjectStreamer:
// Loop through array to get the object numbers
For ID = 0 to Array Count(ObjStreamer)
// First check the distance to the object from the
// camera and store it in a variable. i made a little
// function for that, but you don;t have to use it.
Dist# = XYZDistance(Camera Position X(),Camera Position Y(),Camera Position Z(), Object Position X(ObjStreamer(ID)), Object Position Y(ObjStreamer(ID)), Object Position Z(ObjStreamer(ID)))
// Check if Dist# => 100, altough can be any number
// If so, hide the object
// Else, unhide it
If Dist# => 100
Hide Object ObjStreamer(ID)
Else
Show Object ObjStreamer(ID)
EndIf
Next ID
Return
End
function XYZDistance(X1#,Y1#,Z1#,X2#,Y2#,Z2#)
X# = X1# - X2#
Y# = Y1# - Y2#
Z# = Z1# - Z2#
Distance# = sqrt( (X# ^ 2) + (Y# ^ 2) + (Z# ^ 2 ) )
endfunction Distance#
Hope this helps :p
*ding ding*