IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Load et RemoveChild


Sujet :

ActionScript 3

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 17
    Par défaut Load et RemoveChild
    Bonjour,

    j'ai crée un site (pour l'instant en local) en flash et as3,

    j'inclus plusieurs flash grâce aux methodes load et addchild

    un menu du haut
    un footer
    et au milieu, il y a la partie principal,

    tout les liens des flashs du haut et du footer rajoute un swf externe sur la partie principal (qui prend toute la place) les éléments se rajoute l'un sur l'autre.

    dans les flash rajouté au centre, il y a également des liens qui rajoute un swf a la place du précèdent.

    quand je veux faire un removeChild de l'élément précèdent, cela ne marche pas ce qui est logique vu que c'est plus le même flash et qu'il ne le connait pas. mais du coup mon anim devient super lourde et prend quasiement au bout d'un moment toute les ressources de l'ordi,

    est ce que je m'y suis mal pris ? comment enlever les éléments ou pages précédente ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            R1.x=0;
    	R1.y=184;
    	addChild(R1);
    	R1.load(new URLRequest("R1.swf"));
    Merci pour votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 147
    Par défaut
    essaie de voir la commande
    ça devrait t'aider

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut
    Pour les structure un peu complexe, je te conseil de toujours garder un identifiant pour les éléments chargés, comme sa pas de sousci pour ce genre de chose.
    Dans ton cas tu peu faire une chose simple, au moment du load, tu assigne un id en paramètre .name à ton mc(swf chargé).
    puis ensuite pour le supprmier tu fait removeChildByName().

    Mais si tu pense que ton projet va vite être le binz, je te conseil de créer un Object qui contien tout ce dont tu a besoin, et une function load qui organise tout sa :
    exemple : class principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    var object_medias:Object = new Object();
    var path:String = "http://localhost/";
    var id_increment:* = new int(7);// "*" car sinon tu va en chier pour le mettre en paramettre .name ensuite.
    	function principal()
    	{
    		var infos:String = "salut"
     
    		//si tu veux sauver l'id tout de suite tu peu faire sa :
    		object_medias.id_importants = new Object();
    		object_medias.id_importants.id_du_truc_chargé = new int(load_media(path+"mon_media",infos))
    	}
     
    	function load(url:String,infos:*)
    	{
    		id_increment++;
    		var instant_id:* = id_increment;
    		var instant_name:String = instant_id;
     
    		var instant_req = new URLRequest(url);
     
    		object_medias[instant_id] = new Object;
     
    		object_medias[instant_id].infos = new Object;
    		object_medias[instant_id].infos.exemple:* = infos
    		object_medias[instant_id].infos.isloaded:Boolean = false;
     
    		object_medias[instant_id].media = new Loader;
    		object_medias[instant_id].media.name = instant_name;
    		object_medias[instant_id].media.load(instant_req);
    		object_medias[instant_id].media.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded_media);
    		return(instant_id)
    	}
     
    	function loaded_media(e:Event)
    	{
    		var instant_id:Number = e.currentTarget.loader.name;
    		trace(object_medias[instant_id].infos.exemple)
    		//output : salut
     
    		//remplacement du loader par le truc chargé:
    		object_medias[instant_id].media = e.currentTarget.content
    		stage.addChild(object_medias[instant_id].media)
     
    		object_medias[instant_id].infos.isloaded = true;
    	}
     
    	///...........plus tard...........///
    	function suppression()
    	{
    		stage.removeChild(object_medias[object_medias.id_importants.id_du_truc_chargé].media)
    		object_medias[object_medias.id_importants.id_du_truc_chargé] = null;
    	}
    Edit : Il y avait une erreur de syntaxe, corrigée.

Discussions similaires

  1. insertion des blob avec LOAD DATA...
    Par orli1x51 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/10/2003, 18h05
  2. visualation d'un Loading en local
    Par poxvx dans le forum Flash
    Réponses: 5
    Dernier message: 15/07/2003, 11h05
  3. Création d'un loading
    Par FLB dans le forum Flash
    Réponses: 5
    Dernier message: 09/07/2003, 22h08
  4. Loading
    Par Hermant dans le forum Flash
    Réponses: 2
    Dernier message: 17/02/2003, 11h28
  5. Comment insérer un loading ?
    Par ajit dans le forum Flash
    Réponses: 4
    Dernier message: 21/11/2002, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo