Chargement dans un MovieClip.
Classes recquises:
Visibilité | Type | Nom | Status | Description |
---|---|---|---|---|
public | Number | bytesLoaded | Lecture seule | Les bytes chargés |
public | Number | bytesTotal | Lecture seule | Les bytes totaux |
Hérité | ||||
public | String | url | Lecture seule | L'url à charger |
public | MovieClip | content | Lecture seule | L'instance du contenu chargé |
public | Number | timeout | Le nombre de millisecondes qui correspond au timeout | |
public | MovieClip | targetInstance | L'instance de la cible (différent du contenu, mais ca peut être le même) |
Visibilité | Return | Nom | Param 1 | Description |
---|---|---|---|---|
public | Void | load | pUrl:String | Charge une URL ou un symbol lié |
Nom | Param 1 | Param 2 | Description |
---|---|---|---|
Hérité | |||
onLoad | Evénement invoqué lorsqu'un chargement est terminé. | ||
onLoading | pBytesLoaded:Number | pBytesTotal:Number | Evénement invoqué pendant un chargement. |
onFileNotFound | pUrl:String | Evénement invoqué lorsque le fichier à charger n'a pas été trouvé. | |
onTimeOut | pUrl:String | Evénement invoqué lorsqu'un chargement fait un timeout. | |
onNoTarget | Evénement invoqué lorsque la cible du chargement disparait. |
Création
J'avais oublié de gérer les symboles liés
Bug sur le load. Si on charge un fichier qui n'existe pas, puis qu'on charge un symbole, ca ne marche pas. Il faut créer un clip vide comme on le fait pour un symbole lié.
/** * Chargement dans un MovieClip * @author neolao <neo@neolao.com> * @version 1.2 (17/05/2005) * @link http://resources.neolao.com/flash/classes/controls/LoadMovieClip * @license http://creativecommons.org/licenses/by-sa/2.0/ */ class com.neolao.controls.LoadMovieClip extends com.neolao.controls.LoadManager{ public var className:String = "LoadMovieClip"; public var version:String = "1.2"; // ----------------------------- CONSTANTES -------------------------------- // ----------------------------- VARIABLES --------------------------------- // ----------------------------- EVENEMENTS -------------------------------- /*============================= CONSTRUCTEUR =============================*/ /*========================================================================*/ /** * Constructeur */ public function LoadMovieClip(){ super(); } /*======================= FIN = CONSTRUCTEUR = FIN =======================*/ /*========================================================================*/ /*=========================== METHODES PRIVEES ===========================*/ /*========================================================================*/ /*===================== FIN = METHODES PRIVEES = FIN =====================*/ /*========================================================================*/ /*============================ GETTER SETTER ============================*/ /*========================================================================*/ /** * Les bytes chargés */ public function get bytesLoaded():Number{ return _content.getBytesLoaded(); } /** * Les bytes totaux */ public function get bytesTotal():Number{ return _content.getBytesTotal(); } /*====================== FIN = GETTER SETTER = FIN ======================*/ /*========================================================================*/ /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Lance le chargement * @param pUrl Une url ou un symbole lié */ public function load(pUrl:String){ // Dans cette dérivation de LoadManager // La cible du ContentManager est le movieclip cible du chargement var vAttached:Boolean = false; var vAttachedContent:MovieClip; var vLoadedContent:MovieClip; _log.setAction("Tentative de attachMovie de "+pUrl+" dans "+_target+" ...", 2); vAttachedContent = _target.attachMovie(pUrl, "attachedContent", 1); if(vAttachedContent){ _log.setInfo(vAttachedContent+" : "+pUrl+" est un symbol lié", 2); vAttached = true; _content = vAttachedContent; }else{ _log.setInfo(pUrl+" est un fichier externe", 2); vLoadedContent = _target.createEmptyMovieClip("loadedContent", 1); _content = vLoadedContent; } super.load.apply(super, arguments); if(!vAttached){ _content.loadMovie(pUrl); } } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }