mmreed
01-18-2002, 11:50 AM
I know there has been much discussion about a GUI daisy chaining feature... I was wondering if this is still a planned feature?
Also - what would be the drawbacks of chaining movies when run from CD? when run via website? etc
is there a 'best' method for chaining short of doing the load/unload action?
Bob Hartzell
01-18-2002, 12:59 PM
I believe Johnie was going to say more on this subject. It is a planned feature for the future.
johnie
01-18-2002, 08:08 PM
Okay, I'll try to post this again, perhaps if I cross my fingers and stand on one leg the board won't return an error this time...
First there aren't any drawbacks of daisey chaining unless you consider having a project with dependant SWF's either on a web server or in a standalone project. There are however drawbacks of not Daisey Chaining and they are listed in this MM Flash technote (Technote #14437): http://www.macromedia.com/support/flash/ts/documents/bigflash.htm
To summarize the technote:
The playback speed, quality, and even somtimes behaviors are dependant upon the machine that it is playing on. Machines with less resources will play back larger Movies differently than machines with more resources. The Flash 5 player will actually lock up or crash older CPUs with lower memory.
Furthermore the MAC Flash player has a defualt limit of 2 meg. Users viewing your work on a MAC may have to allocate more resources to the Flash Player if your Movie size is over 2 meg.
a Flash movie can have up to 16000 frames. Exceeding that limit will cause the movie playback to stop.
The number 16000 is a limit to other things in Flash as well. It is the maximum amount of layers that Flash can export and the maximum amount of loaded movies that Flash can support. In addition, the maximum amount of symbol instances allowed in a Flash movie is also 16000. Combining these limits together would create greater risks, as using them together would most likely create other problems.
On a Macintosh, memory for applications is allocated on a per-application basis. The memory required to run the Flash 4 editor is a minimum of 18500K, with a preferred size of 26143K. In contrast, the Flash 4 standalone player has a preferred size of 4000K of memory. This should make sense, as SWF files are compressed and therefore much smaller than the work file. Since Flash loads most media into RAM, it would be wise not to exceed this amount of imported media in the Flash movie without increasing the RAM allocation. While that number can be increased, keep in mind that this is the recommended size, and extreme limits are not known.
Furthermore by not Daisey chaining the download time can actually be increased as chunked data tends to download faster. Also if you daisy chain there is no longer a need for the user to watch a boring preloader for 5 minutes as the loading of the movie is masked by the chunk before it.
There are many ways to Daisey Chain all of the involve the Load Movie action and some involve the unload movie action. There are multiple tutorials and varrying degrees of complexity to do this. The most basic is just to add a Load Movie Actiopn on the last frame of an animation. Keep this in mind as you read this second part.
The best way I have found to preload
1. Create a Base Movie this movie will do nothing but size the the rest of the project, Load the first file, and sit on level0. To create the Movie all you need to do is Open up KoolMoves and Place a transparent Rectangle the size you want your total movie to be and then click 4 key frames with 0 tweens. Leave Frame Goto Frame 2 and add a load Movie in Level 1 action or AS and then in Frame 4 add a goto and play action or actionscript. Export it into the directory you want. I recomend this becuase it both fixes a problem with the standalone resizing when a larger movie is loaded into it and it makes it so you are not tempted to unload level 0. If you unload level0 or add a movie into it you have mucked it up and this will not work.
2. In all sucessive movies create 2 Blank frames on the very front with 0 tweens. In the second frame put a stop movie action in it. You create 2 frames becuase in Flash KoolMoves Key Frame 1 is alsmost always SWF Frame 0. The Flash Player ignores the actions on SWF Frame 0 when played in a web browser the first time.
3. On all but the first and last of your succesive movies you will add these 2 actions in Key frame 3. First you will need a load movie action to load the next movie. Have it go into the next higher level. So if you are in level 1 you in frame 2 you will load the next movie into level. The second action will be an unload movie action with the previous level. Agian note that you should never unload level 0.
3. On the first frame you should ommit the unload movie action in frame 3 whaile on the last level you should ommit the load movie action in frame 3.
4. On all of your movies except the last one you will append a copy of the last keyframe to the end and add a goto and play action on it. You want loop the last two frames of your movies in other words.
5. On your second to last key frame you will do 1 of three things.
A. You will simply add a tell target action.
Tell target, target:_level# play.
B. You will Action script a level targetted play script. _level#.play();
C. You will actionscript a preloaded check script:
total= _level#.getBytesTotal();
loaded=_level#.getBytesLoaded();
if{loaded==total){
_Level#.play()}
6. Ommit step 5 in the last Movie.
As you can see this process is not trivial and has several variables in it. To automate this, it would require a wizard to ask what level the movie is on and would also have to return seperate results if it was the first level, last level, or level in between. The wizard would also have to ask you what the name of your next movie is.
The complexity of it is also why we don't see this type of GUI interface in any Flash authoring environment yet. Furthermore this operation is typically prformed by intermediate and advanced Flash users themslves and is one of the most asked questions in the General help and Standalone boards here at Flashkit. I do not envy Bob in trying to create a Wizard that will daisey chain.
mmreed
01-18-2002, 08:50 PM
thanks johnie!
That info will help!
It sounds as if adding a wizard for chaining would really put KM far ahead of other apps - even flash itself to some extent! Now thats a major selling point!!!!!