Documentation
Converter Limitations
We have created GAF Converter to make the lives of game developers easier. GAF Converter allows speeding up and increasing the quality of the game development process. Yet this tool still has some limitations that a few may find relevant to their projects. In this article we would like to list these limitations and suggest possible workarounds or ways of avoiding them.
1. Blending mode different from Normal
Blending mode is making a huge impact on performance. Using it in flash animations dramatically decrease fps in applications where those animations are used. And at the same time, it is always possible to design animation without using it. That's why GAF Converter doesn't support blending modes different from normal.
2. Mask under mask
It’s a very uncommon situation. But still you should remember that you can have only one mask on the top of the display object. You can’t wrap this into a movie clip and apply another masks on top of it. This limitation is valid only when you use conversion mode Plain. In conversion mode Nesting GAF converter saves a mask under a mask in *.gaf config. But not all playback libraries can play mask under mask because of the technical limitations. Right now only Cocos2d-x v3 playback library supports it in animations, created using conversion mode Nesting.
3. Animated masks (Movie Clips with an animation inside used as a Mask)
It’s not possible to have an animation INSIDE a mask. You can animate the mask itself freely. You can use Shape tweens as masks too. But the use of the Movie Clip as a mask with animation inside is not possible. This limitation is valid only when you use conversion mode Plain. In conversion mode Nesting GAF converter saves animated mask in *.gaf config. But not all playback libraries can play animated masks because of the technical limitations. Only Starling and Cocos2d-x v3 playback libraries support it in animations, created using conversion mode Nesting.
4. 3D transformations
GAF Converter does not support 3D transformations. And we have no plans to support them at all because of the technical reasons.
5. Tint + Adjust Color used together for one instance
It’s not possible right now to correctly display this combination. Please avoid applying both effects to the same instance.
6. Filters applied to a MovieClip instance with an animation inside
During conversion in the conversion mode Plain animation is optimized and merged into a single Timeline. Visually you get the same animation, but internal structure is plain (has no nested timelines). This optimization doesn't allow saving filters, applied to Movie Clip instance with animation inside, in GAF animation. This limitation is valid only when you use conversion mode Plain. In conversion mode Nesting GAF Converter saves filters, applied to Movie Clip instances with animation inside, in *.gaf config. All playback libraries that support "nesting" are playing them correctly.
7. Action Script 3 limitations in conversion mode Plain
All Action Script 3 inside an SWF is executed during the conversion process and affects the result. You can apply Action Script 3 to control the animation playback starting from simple actions like stop(), gotoAndPlay(), etc. and up to complex code that fully creates and manages the whole animation. When using Action Script 3 be sure to avoid endless animations.
The following Action Script 3 code is NOT supported in conversion mode Plain:
- You can't use addChild(mc) function in the code to manage animation playback. You need to place all the parts of the animation manually and only then control their position, size, rotation, etc.;
- You can't use removeChild(mc) function in the code to manage animation playback. All the parts of the animation can be removed only manually during the animation in "design mode";
- Using subscription on any MouseEvent is not supported. GAF is designed to convert only graphics and animations created in Flash Pro. GAF is NOT designed for converting complete applications and games created using Flash technology.
- Using subscription on any KeyboardEvent is not supported. GAF is designed to convert only graphics and animations created in Flash Pro. GAF is NOT designed for converting complete applications and games created using Flash technology.
- You can't use access to the Stage (this.mc.stage or any other way) in the code. This is forbidden by the security sandbox.
8. Action Script 3 limitations in conversion mode Nesting
When you are using conversion mode Nesting all Action Script 3 code is removed before the conversion and doesn't impact on the conversion process. Only following set of Action Script 3 code is saved into GAF config file for further execution in runtime:
- this.stop();
- this.play();
- this.gotoAndStop(1);
- this.gotoAndStop(“frame label”);
- this.gotoAndPlay(1);
- this.gotoAndPlay(“frame label”);
- this.dispatchEvent(new Event("EvenName", false, false));
- this.dispatchEvent(new DataEvent("EventName", false, false, "Your custom data here"));
Keeping in mind all these limitations and applying them to your animations will help you avoid using the unsupported features. We have also set up a list of features that are not supported now by our playback libraries.
Starling GAF limitations
- Can't display filters on objects under a mask. It will be removed when stencil mask will be implemented in Starling framework.
- Can't stack filters on one object. Please avoid using more than one filter in one object.
Unity3d GAF limitations
- Filters support is available only for Unity Pro users and only for Unity Pro plugin.
- Can't display dynamic text fields.
Cocos2d-x v2 GAF limitations
- Doesn't support animations converted using conversion mode Nesting. Please use Cocos2d-x v3 if you need to play them.
- Doesn't support a region rotation.
- Doesn't support adding custom images into a Texture Atlas.
Cocos2d GAF limitations
- Doesn't support animations converted using conversion mode Nesting. Please use Cocos2d-x v3 if you need to play them.
- Doesn't support a region rotation.
- Doesn't support adding custom images into a Texture Atlas.