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 :

probleme d'affichage d'une meme image dans plusieurs sprite


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut probleme d'affichage d'une meme image dans plusieurs sprite
    Bonjour ,

    j'ai actuellement un probleme avec le pointage sur une image et son affichage dans plusieurs sprite.

    Voici mon code , ce qui m'agace c'est qu'il affiche que la derniere image (un carré d'herbe en x:200,y:0)

    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
    //Variable de stockage
    var a:Array = new Array();
    var dico:Dictionary = new Dictionary();
     
    //variable de chargement
    var img:Loader = new Loader();
    var url:URLRequest = new URLRequest("herbe.jpg");
     
    //on definit la fonction a lancer a la fin du chargement et on charge
    img.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
    img.load(url);
     
    //fonction appelé a la fin du chargement de l'image
    function onComplete(evt:Event):void {
     
    	dico["herbe"]=img.content;
     
    	for (var i:uint = 0; i<10; i++) {
    		a[i]=new Sprite();
    		a[i].addChild(dico["herbe"]);
    		a[i].y=i*10;
    		addChild(a[i]);
    		trace(a[i].stage.numChildren);
    	}
    }
    Si je fais pointé tout les sprite vers herbe , c'est pour economiser de la mémoire , apres je sais pas si c'est vraiment bien ..

    Merci d'avance pour votre aide

    Edit : j'ai rajouté un trace du nombre d'enfant de stage et apparament il est egale a 1 tout le temps ... Par contre j'ai aucune idée du pourquoi ni du comment etant donné que new Sprite() crée un nouveau objet .. si je trace a , il y a bien 10 objet dedans sprite

  2. #2
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    Alors la solution :

    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
    //Variable de stockage
    var a:Array = new Array();
    var dico:Dictionary = new Dictionary();
     
    //variable de chargement
    var img:Loader = new Loader();
    var url:URLRequest = new URLRequest("herbe.jpg");
     
    //on definit la fonction a lancer a la fin du chargement et on charge
    img.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
    img.load(url);
     
    //fonction appelé a la fin du chargement de l'image
    function onComplete(evt:Event):void {
     
     
    	dico["herbe"]=img.content;
     
    	for (var i:uint = 0; i<10; i++) {
    		a[i]=new Sprite();
    		a[i].addChild(new Bitmap(dico["herbe"].bitmapData));
    		a[i].x=i*100;
    		addChild(a[i]);
    	}
    }
    Allez cherché la différence

    Je crée un nouveau bitmap pour chaque a[i] mais basé sur le meme bitmapData !

    Note : si je modifie le bitmapData ça modifie dans tout les bitmap (a[i]) sauf si on fait bitmapdata.lock() qui empeche cela , mais ici c'est pas le cas au contraire hihi

    En effet le addChild specifie que si un objet (en l'occurence mon image bitmap de dans mon premier code) a un parent et qu'on l'ajoute a un autre objet , son ancien parent devra le supprimer !

    Du coup dans mon premier code il était a chaque fois supprimer du sprite precedent et il était affiché que dans le dernier a l'avoir adopté

    Bref , je pense que c'est un bon compromis que j'ai là !

    A la prochaine !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme d'affichage d'une applet java dans page jsp
    Par wafabrj dans le forum Applets
    Réponses: 1
    Dernier message: 31/10/2012, 20h54
  2. Probleme d'affichage d'une tool Bar dans un panel
    Par amine1980 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 28/03/2011, 23h48
  3. Réponses: 1
    Dernier message: 18/03/2010, 07h31
  4. Réponses: 8
    Dernier message: 21/02/2008, 15h30
  5. Affichage d'une grande image dans un composite SWT
    Par Jibouze70 dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 09/07/2007, 11h51

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