Recipe 20.6. Creating Preloaders for Files with Components


Problem

Your movie contains components, and they prevent the preloader from appearing until the movie is almost entirely loaded.

Solution

Use the same principles as discussed in Recipe 20.5. Additionally, assign a frame other than 1 to the Export frame for classes field.

Discussion

Components are special movie clips. And by default they are set to export on the first frame. That means that in order to properly preload an SWF that uses components you must employ the same strategy as is discussed in Recipe 20.5. However, in addition to the challenges presented by exported movie clips, components present a new challenge. Unlike standard exported movie clips, components are composed not only of graphical elements, but they consist also of ActionScript code. That ActionScript code is placed in special structures called classes, and those classes can account for rather significant file size. For example, the Loader component is approximately 27KB, almost all of which is due to the code in classes.

Like exported movie clips, classes export on the first frame by default. That means that all the code in all the classes used by an SWF must download before the first frame can play back, during which time the the user waits at a blank screen for seconds or even minutes. However, it's remarkably simple to adjust the export frame for the classes used by a Flash file:

  1. Open the Publish Settings by selecting File Publish Settings.

  2. Click on the Settings button to the immediate right of the ActionScript version menu.

  3. Enter a frame number greater than 1 in the Export frame for classes field.

  4. Click OK.

In order for a component to properly work, you must make sure that the classes it requires are exported on a frame before the component is used.




Flash 8 Cookbook
Flash 8 Cookbook (Cookbooks (OReilly))
ISBN: 0596102402
EAN: 2147483647
Year: 2007
Pages: 336
Authors: Joey Lott

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net