KB110: Character Builder output in a Flash or Flex container
All Flash files are marke with a Flash version. By default the Character Builder renders content to Flash version 8. While there are newer versions of the Flash
player available, all Flash players will work with older Flash content. Rendering to the lowest version possible allows
the Character Builder output to run on a wide range of platforms, including many mobile platforms. However when the CB output
is loaded into a Flash container, then it is the flash version of this container that is used to determine certain global behaviors.
For this reason it is generally recommended that you mark your CB output with the same Flash version as the container.
The CB output can be marked with a higher Flash version by setting the version number in the Flash Version property on the Advanced panel
for the Project object in Outline view.
There are three simple rules to follow:
Rule 1 - Match the Flash Version of the CB output to that of the container
In switching from Flash 7 to Flash 8 Macromedia fixed a "pixel offset" problem that affected all prior versions of Flash.
When rendering to version 6 or 7, the CB adds logic to compensate for the bug, which in turn results in a reverse off-by-one
bug when running in a Flash 8 container. The problem is not always noticeable, but can appear as a slight shifting of pixels
when raster-based (realistic) characters are talking or blinking. To fix this, be sure you have CB 4.0.6 or higher, then mark your
CB output as Flash 8 or higher and re-render.
Rule 2 - Match the Action Script version (2 or 3) with that of the Flash or Flex container
With Flash 9 and higher you have the option to use the new Action Script 3 (AS3) language. AS3 is also used with the Flex platform.
When working with AS3 containers, please use version 5.3 of the Character Builder or higher so that you can render your
Character Builder output using Flash AS3 code. The reason for this is that an AS3 container is not able to talk to an AS2 containee,
and vice-versa. This is not an issue if you are using the Straight Flash output, since this does not contain any Action Script code.
Rule 3 - Match the frame rate of the CB output to that of the container
The outermost container will override the frame rate at which the contained flash file plays at. If you don't tell Character Builder
to use the frame rate of the outermost container, then animations may appear to play too quickly or too slowly when running in that container.
The Tutorials folder includes samples of methods and events under Flash 8, Flash 9 AS3, and Flex 3.