2009-07-27 6 views
0

J'ai un film Flash que je voudrais utiliser dans une application flexible, très similaire à un préchargeur. En regardant ce tutoriel, http://www.flexer.info/2008/02/07/very-first-flex-preloader-customization/, je m'attendais à ce qu'il ne s'agisse pas d'étendre "Preloader" et d'étendre "Sprite" et d'utiliser la classe que j'ai créée partout où j'ai eu besoin.Exécution d'un film Flash dans une application flexible

Hélas, le film que j'ai créé n'est pas affiché.

C'est le code de ma classe contenant le film, fait sur la base du tutoriel ci-dessus:

package 
{ 
    import mx.preloaders.DownloadProgressBar; 
    import flash.display.Sprite; 
    import flash.events.ProgressEvent; 
    import flash.events.Event; 
    import mx.events.FlexEvent; 
    import flash.display.MovieClip; 


    public class PlayerAnimation extends Sprite 
    { 
     [Embed("Player.swf")] 
     public var PlayerGraphic:Class; 

     public var mc:MovieClip; 

     public function PlayerAnimation():void 
     { 
      super(); 
      mc = new PlayerGraphic(); 
      addChild(mc); 
     } 

     public function Play():void 
     { 
      mc.gotoAndStop(2); 
     } 
    } 
} 

Répondre

0

vous devez prendre en compte le fait que l'affichage de base flex est primitive UIComponent, par opposition à Flash qui utilise principalement Sprites. Vous pouvez uniquement ajouter un composant UIComponent à un composant Flex (et non directement un Sprite, comme vous semblez le faire).

vous devez:

var IIU: UIComponent = new UIComponent(); // crée d'abord le conteneur UIComponent var player: PlayerAnimation = new PlayerAnimation(); // puis créez votre classe basée sur Sprite player.width = this.width; player.height = this.hauteur; // hauteur d'installation, largeur iui.addChild (lecteur); // ajoute votre classe basée sur les sprites au composant UIComponent this.addChild (iui); // enfin vous pouvez ajouter le composant UIComponent à votre conteneur Flex (Application, TitleWindow, VBox, Panel ... quel qu'il soit)