|Table of Contents|
Hack 64 Dude, Where's My Scrollbar?
Create a lightweight scrollbar component for Flash MX 2004.
The v2 components that ship with Flash MX 2004 are geared toward creating complex user interfaces and Rich Internet Applications. The v2 components offer several enhancements over the v1 components, including support for depth management, keyboard focus management, and accessibility. The v2 components are completely rewritten to work in ActionScript 2.0 (including strict datatyping and case sensitivity). The v2 components also share a new component framework designed to optimize filesizes when you use five or more components in a single SWF (as Macromedia's research found to be typical).
However, the Flash MX 2004 components can't be used as simple drop-in replacements for the Flash MX v1 components for several reasons:
And you can't simply use the old v1 components that ship with Flash MX if you export your SWF in Flash Player 7 format, because the old components don't conform to Flash Player 7's case-sensitivity requirements as discussed at http://swfoo.com/archives/000034.html. Even if you update a Flash MX (Flash Player 6) FLA file into Flash MX 2004 (Flash Player 7) format, including making your scripts case-sensitive, the code associated with the v1 components still may not work due to case and type casting inconsistencies within the components themselves and differences in the behavior of some built-in ActionScript functions in Flash Player 6 and 7. The workaround is to use the updated "Flash MX components for Flash MX 2004", as described next.
Although many third-party components, including scrollbars, are available, it would be nice to use Macromedia components to ensure compatibility with future versions of the Flash Player (Macromedia makes a serious effort to ensure that older SWFs run unmodified in newer versions of the Flash Player).
The v1 components from Flash MX included a standalone scrollbar and can be used in Flash MX 2004 when exporting your SWF in Flash Player 6 format (although you should avoid mixing v1 and v2 components in the same project). Flash Player 7-compatible versions of the v1 components, which are not as bandwidth-heavy as the v2 components, are available from the Flash Exchange (http://www.macromedia.com/exchange/flash), in the User Interface category, under the title "Flash MX Components for Flash MX 2004."
You can also access the Flash Exchange via Flash's HelpFlash Exchange option. The v1 components are distributed as an .mxp file. To install them, you must have installed the Macromedia Extension Manager, which is also available online at the Flash Exchange.
Once installed correctly, you will see the updated Flash MX components appear in the Flash MX 2004 Components panel, under Flash MX UI Components as shown in Figure 8-11. The Flash MX 2004 components are kept safely separate under UI Components in the Components panel.
Figure 8-11. The Flash MX UI components in the Flash MX 2004 Components panel
The Flash MX components don't have all the sexy features of the Flash MX 2004 components. However, if the only component you need is a scrollbar for a text field or other slider control, as shown in Figure 8-12, you can simply drag the Flash MX UI scrollbar from the Components panel and drop it onto the Stage just as you did back in Flash MX. It will work even if you have the publishing options set to the Flash Player 7 and ActionScript 2.0. Best of all, the Flash MX scrollbar adds only 6 KB to the SWF filesize.
Figure 8-12. Using the Scrollbar component
Progress is great, and the Flash MX 2004 v2 components offer many advanced features such as focus management, depth management, and accessibility, but sometimes you just want one freakin' scrollbar!
|Table of Contents|