-- aleXtra -- ©08 Alex da Franca -- alex@farbflash.de
Version 1.1.5, Release date: 08/02/02
| x |
|
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
I was sick of not being able to save the changes I make to my 3-D members, so I wrote some utility scripts to wade through all objects in the 3-D member and store them in a list.
Especially in conjunction with ullalas great 3dpi (http://www.ullala.at/3DPI) you may now build and save 3-D worlds without any line of lingo.
Of course it can also be done with a 3-d modelling app, but it results in big movies, since the data is stored in the shockwave3-D member.
With this script you can empty your 3-D member and build the world at runtime on the fly, resulting in small filesize, which is especially useful for tiny .dcrs.
The idea is simple (it was only much 'typing work') The approach to save the huge lists in scriptmembers results in little filesize after publishing the movie to dcr or dxr since the scripttext which actually makes the .dir file big, is stripped after precompiling.
Thus only the 'compiled' list is stored in the published file.
Also the access of the data is much faster, than saving it to a field member and rebuilding the list via value().
The drawback is: that huge scriptmembers are loaded into memory when the castlib is loaded and can't be purged.
I think pims propsave xtra (http://www.pimz.com/xtras/free/propsave.html) might do a better job on this.
And it is supposed to be shockwave save in the near future.
Just one more thing:
If you want to call the restore function from within a script just do the following:
tell window "Alex3-DTools" saveObj = new(script "SaveW3DScript") end tell saveObj.mRestoreSW3Dworld(memberref, whichScriptname)
Make sure the miaw is already open, or write your own code to open it invisible.
new(script "OnlyRestoreScript").restoreWorld(, )where <SWMember> is a reference to the #shockwave3d member in question (e.g. SWMember = member("myWorld") ) and <savedStateName> is a string holding the name of a saved state (the name of the script castmember, which was created with 'Alex3-DTools')