Contents |
The Flash 9 animator takes advantage of Flash 9's robust API and the latest Flash technologies including AS2/AS3 scripted animation and FLV videos with full screen support. Essentially, the Flash 9 animator serves the same purpose as the old Flash 5 component. The main difference is that the new system uses native Flash DLL for rendering and is therefore compatible with all Flash versions up to version 9. In some (simple) cases it is possible to replace 'SWFView' in the content with 'SWFView9' and it will work. However, just switching the animators is not guaranteed to work, and is not supported.
| Property | Description |
|---|---|
| SVG | SVG rendering was implemented by 'SWFView' animator because it was using same vector-rendering code as our implementation of Flash 5. It will not work in 'SWFView9'. |
| LayerCache | Obsolete property used to control aspects of rendering Flash content by VMP rendering engine |
| UseDirtyRects | Obsolete property used to control aspects of rendering Flash content by VMP rendering engine |
| Font | Obsolete |
| opac | Used for specifying transparency for the whole movie. Unsupported. |
| rtim | Used for specifying if frames are skipped when playback can't keep up with frame rate. Unsupported. |
| Clip | Used to set an additional clipping rectangle. Unsupported. |
| Base | Used to specify base path. Determined automatically based on MTX or HTML path. |
| Quty | Used to specify quality. Unsupported. |
You can use normal MTSTimeElem properties strt, stop, stpc, runs, clps, rst_, rwnd, trgr, paus to start/stop/rewind/pause main (root) Flash movie. However, keep in mind that stopping the main Flash movie (just like in native Flash) does not necessarily stop video/audio playback. Therefore, it is advised to call some exported Flash function which will achieve the desired effect.
Normally we do not control Flash's time, letting it run at its own pace. One would only control it's state (see above). However, if you access time property, either for read or write, it will be converted to frames according to file's Frames Per Second (FPS).
Note that theoretically one can change FPS in Flash in runtime, but this is not taken into account - only the file's setting is used.
Also, as we use GotoFrame function, intermediate frames are skipped.
You can animate time for paused Flash movie.
tmap (TimeScale) should be supported if you animate time, but this is not tested.
pdir (PlayDirection) is not supported.
| Name | Mode | Type | Default | Description |
|---|---|---|---|---|
| BasePath | R/W | string | URL for reloading relative Path (below). Ignored if Path is absolute. Usually is set automatically as the position of enclosing MTX or HTML. | |
| Path | R/W | string | The URL of the Flash file loaded by Animator. Could be relative to BasePath. | |
| UseSWFStatus | R/W | boolean | false | If true, read/write of non-existing DOM property or calling non-existing function will cause failure. Else it will be ignored |
| Loop | R/W | boolean | true | Corresponds to native Flash embed parameter which tells if Flash has to go to first frame after it reaches last frame |
| SWF | R | object | Serves as root for accessing native Flash variables and functions. See Scripting | |
| Version | R | real | 0.0 | The version of the Flash DLL loaded by Animator. Example: 9.0. |
| Reload | W | uint32 | Setting this to "1" causes current movie to be reloaded. All related files like FLV are reloaded too. | |
| Preload | R/W | boolean | false | Whether the Animator loads Flash file even if it is off. |
| FillBackground | R/W | boolean | false | Whether the Animator renders Flash file in opaque mode, filling in the transparent areas with the background color. May only be reset if "FillBackgroundDynamic" is true. |
| FillBackgroundDynamic | R/W | boolean | false | Whether the Animator allows FillBackground to be changed after initialization. May not be reset. |
| MinimumFlashVersion | R/W | string | Minimum version of Flash DLL required for the content, friendly-number form (eg, "9.0.115.0"). | |
| Width | R/W | uint32 | 0 | The width of the Animator's target texture(s). Not required. Defaults to Flash movie size. |
| Height | R/W | uint32 | 0 | The height of the Animator's target texture(s). Not required. Defaults to Flash movie size. |
| ForceFlashDimensions | R/W | boolean | false | Forces the Animator's target textures to the same dimensions of those of the Flash file. Equivalent to setting "Width" and "Height" to those values. |
| AutoInvertTargetAlpha | R/W | int32 | 1 | Normally Flash would require InvertAlpha="1" for target texture. This parameter controls if this setting is automatically adjusted.
|
| ASVersion | R | uint32 | 0 | The ActionScript version of the Flash file.
|
| FileVersion | R | uint32 | 0 | The Flash version of the loaded Flash file. |
| Compose | R/W | boolean | false | If true, Flash will render on top of existing target. If false - will erase target texture with background color before rendering. Has meaning only for texture targets, for Pre-/Post- Animators it sort of is true always. |
| Render | R/W | boolean | true | Turns on or off rendering of Flash movie. |
| FlashVars | R/W | string | Used for setting native Flash variables. Same as Flash embed tag. Note that because it is in XML (MTX) file, it should be XML-escaped. therefore if you want to specify two variables, you have to write something like: FlashVars="QAID=14445&QPAN=0" | |
| SWFWidth | R | uint32 | 0 | The Width of the Flash file (stage). |
| SWFHeight | R | uint32 | 0 | The Height of the Flash file (stage). |
| FullScreen | R | boolean | false | Whether the Animator is currently in full-screen mode. |
| UseFlashTime | R/W | boolean | true | If false - prevents animator from using CurrentFrame*FPS as Flash animator's time. Note that unless you explicitly animate or directly refer to time property, Flash time is not accessed. |
| DefaultProtocol | R/W | string | vetscript: | Default protocol to be used if none is specified. Possible values are vetscript: and javascript:. See Scripting |
| Scale | R/W | string | ExactFit | Same as Scale parameter for native Flash embed. Other valid values are ShowAll, NoBorder, ExactFit, NoScale. See Flash CS3 Documentation. Note, however, the defaults differ. |
| SAlign | R/W | string | [empty (= c)] | Same as SAlign parameter for native Flash embed. Valid values are L, T, R, B, etc, or any combination, as if native Flash. Note that the Align property is not supported, as it is not applicable to VMP embedding. |
| Name | Type | Description |
|---|---|---|
| GetCurrentFrame() | int32 | Returns current frame for the main timeline. |
| CallFunction(func_name, ...) | NIK_Variant | Call arbitrary function in Flash movie and return it's result. |
Complete description could be found on Adobe's site
A comprehensive description of VMP Flash 9 scripting functionality will be included in the final Release Notes that will be out soon. The following is a brief description:
For all flash methods listed below, syntax and behavior should be exactly as described whether hosted by us or by the browser unless otherwise noted. However, when the flash movie is hosted by VMP, the functionality is extended by using either keywords or “protocols” (these protocols, and their syntax and functionalities will be described in detail below) to allow direct access to the VMP Scene DOM and VMP specific functionalities. By default “vetscript:” protocol is used, meaning that all commands will be executed by VETScriptInterpreter animator. It is possible to change default protocol:
| <MTSTimeElem Name="vmp_to_flash" Type="SWFView9" Path="vmp_to_flash.swf" DefaultProtocol=”javascript:”/>. |
This would be useful when swf file had some communication with HTML set up, but now has to be placed into MTX.
<MTSSetProperty Target="vmp_to_flash. GotoFrame()" Value="3"/> |
Flash movies using AS1 and AS2 do not need to be modified in order for the published swf to work.
Flash movies using AS3 need the following file added to the beginning of frame 1 code.
A comprehensive description of VMP Flash 9 scaling functionality will be included in the final Release Notes that will be out soon. It will include the supported, as well as recommended Flash scaling methods and the differences between Flash directly embedded within the browser and Flash embedded within the VMP.
Adobe introduced full-screen capabilities into their Flash 9 browser plug-in, in two incremental steps: version 9.0.28.0 for software mode, and version 9.0.115.0 for hardware-accelerated mode. Once full-screen mode is triggered, rendering of the Flash content is passed directly to the Flash DLL, thereby having the effect of full support for all of Flash 9's full-screen features. Additionally, the limitations of when this mode may be triggered, and how either mode is triggered, is a Flash/ActionScript issue, and is fully independent of the container (whether that be the browser or the VMP). The main difference between content designed for Flash-in-browser as opposed to Flash-in-VMP is that the VMP automatically enables the allowFullScreen property, so the content developer need not specify it in the mtx code. The full-screen mode applies to any manner of Flash content, whether it be SWF, FLV, etc, and not just video. The details of the H.264-video-specific hardware-acceleration have not yet been documented. It is yet to be determined, whether Flash will use hardware features such as NVidia's PureVideo to perform parts of the video decompression, in addition to scaling.
Please note, that the Flash DLL pre-fills the full-screen area with the background color of the Flash movie. Thus, anything behind the transparent pixels of the Flash file will not show through. To have a Superview-like effect, Flash in non-full-screen mode must be used within Superview, with the animator targeting a texture (of a 2d-layer) or set as a pre-animator or post-animator.
See Exploring full-screen mode in Flash Player 9, Flash Player:9:Update:Full-Screen Mode HW and Exploring Flash Player support for high-definition H.264 video and AAC audio for nice overviews of the technology, property definition, and samples. As stated above, less the one exception, these all apply to Flash 9 content embedded within the VMP scene.