For your information, I’m using the flex 2 compiler.
I have a class called “Tile”, which extends MovieClip. It has basic functions for manipulating a tile. In my main file, I embed an .swf which contains an animated tile.
[Embed(source=“tile.swf”)]
(BTW, thanks a bunch for letting “Embed” be case-sensitive and just failing silently if you happen to use a lowercase “e”)
Now, I want to tie the tile.swf to my “Tile” control class. This is where I fail miserably.
I cannot use
[Embed(source=“tile.swf”)]
private var TileClass:Tile;
since embeded resources needs to be either Class or String.
So I try to
[Embed(source=“tile.swf”)]
private var TileClass:Class;
var t:Tile = new TileClass();
since Tile extends MovieClip and the .swf most definitely is a MovieClip, but that fails with a coercion error (Casting does not help).
According to the documentation I have, you can only [embed] an .swf at the variable level, so I cant do
[Embed(source=“tile.swf”)]
Public class TileClass extends Tile;
In the Flash Authoring Tool™ I simply did some settings in the library and said that the .swf was a subclass of Tile. Now, there has to be some way to do this in code as well?
I don’t want to make my Tile class the class of the .swf itself, since that would tie the graphics and the code together. I need a system where I can simply alter the .swf with the animation I want and load that in place of what I am currently using, without changing anything other than the [Embed] line.
Any and all ideas are welcome.
raal