The 20 page/state limit in Flash Catalyst is there to prevent Catalyst (and your finished application) from running slowly. You can however build efficient applications that have more than 20 states by using custom components. Custom components can contain states as well; so by creating an app that has several states, and using custom components that have states, you can get more unique views of your app while keeping it efficiently built.
Try this:
1. Select some of your arwork where you need more states. Right click and choose "Convert to Custom Component"
2. Double-click to edit the custom component. Note that you can now create states in the custom component. Try creating a few states here.
3. To exit editing the component, double click a blank area on the artboard.
4. If you try creating an "On click transition to state" interaction now you will see that you can choose from both the states of the application as well as the states of the custom component.
Answered by: Ty Voliter. See entire discussion.
More help:
Video tutorial on custom components
Video/demo discussing the benefits of "pushing interactivity down" into custom components, by Ian Giblin @ MAX 2009
(jump to the 11:15 mark, and watch through to about 20:30)
Another forum post by Ty:
Here's an ASCII diagram to illustrate one way of pushing application or top-level pages/states down into a custom component:
Before:
State1 State2 State3 State4 State5 State6 State7...
After (project refactored to push three top-level states down into a custom component):
State1 State2 State3 State7...
|
Custom Component
State4 State5 State6
For some projects this can be an inconvenient workaround, and for others it can really clean things up by reducing complexity. If you have several top-level pages in your app that are completely different than other pages (for example, they don't share any objects with the other states) than pushing these down into a custom component makes things a lot more manageable in Catalyst. The layers panel, for example, shows all objects across all states-- this is useful when your states share many objects. If however, your states don't share a lot of objects, the layers panel can get a bit unmanageable. Refactoring into a custom component allows you to fix this by grouping content into a container.