Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1849 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  afficher plusieur image dans un sprite en as3

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

afficher plusieur image dans un sprite en as3

n°1960628
alucia
Posté le 26-01-2010 à 19:11:31  profilanswer
 

bonjour !
 
je souhaite créer un portefolio en AS3 pour cela j'ai créée 3 bouton qui appelle chacun  une image qui s'affiche dans un sprite.
mais mon problème est que je veut veux que l'image du premier bouton charger dans le sprite disparaisse quand je charge l'image 2 du bouton 2.
car pour l'instant les image font que s'accumuler les une sur les autre et ca fait pas très jolie :/
 
 
(je précise je suis une débutante en AS3  )

mood
Publicité
Posté le 26-01-2010 à 19:11:31  profilanswer
 

n°1960632
abais
Posté le 26-01-2010 à 19:32:21  profilanswer
 

Comment tu appeles tes images ?
Si tu passe par un Loader, tu n'aura pas ce problème...
 
Sinon, avant d'ajouter l'image au sprite, tu peux supprimer tout les enfant de ce dernier...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1960644
alucia
Posté le 26-01-2010 à 20:48:16  profilanswer
 

je passe justement par un Loader ...
en gros lorsque je clic sur mon bouton je fais appelle a un Loader qui charge mon image l'aide d'un écouteur dans le sprite .
 
voici le code
 

Code :
  1. //donc ici je déclare mon sprite qui va contenir mes images
  2. var conteneur: Sprite =new Sprite();
  3. conteneur.scaleX=conteneur.scaleY=0.7;
  4. conteneur.x=50;
  5. conteneur.y=40;
  6. //déclare bouton1
  7. var bonton1:Bouton1 = new Bouton1();
  8. bonton1.x = bonton1.y =150;
  9. this.addChild (bonton1);
  10. //declare image1  
  11. var chargement1 :Loader = new Loader ();
  12. var adressel1 :URLRequest = new URLRequest ("image/imagearsenal1.jpg" );
  13. chargement1.load(adresse1);
  14. //declare bouton2
  15. var bouton2:Bouton2 = new Bouton2();
  16. bouton2.x = bouton2.y =150;
  17. this.addChild (bonton2);
  18. //declare image2  
  19. var chargement2 :Loader = new Loader ();
  20. var adresse2 :URLRequest = new URLRequest ("image/imagearsenal2.jpg" );
  21. chargement2.load(adresse2);
  22. //écouteur bouton1
  23. bouton1.addEventListener (MouseEvent.MOUSE_DOWN,aparaitre1);
  24. function aparaitre1 (evenement: Event): void
  25. {
  26. conteneur.addChild(chargement1);
  27. addChild(conteneur)
  28. }
  29. //ecouteur bouton2
  30. bouton2.addEventListener (MouseEvent.MOUSE_DOWN,aparaitre2);
  31. function aparaitre2 (evenement: Event): void
  32. {
  33. conteneur.addChild(chargement2);
  34. addChild(conteneur)
  35. }


 
heumm par contre je comprend pas trop l'histoire de supprimer les enfant de mon sprite , c'est a dire supprimer ces propriété ? mais si je fais ca mon image apparait n'importe où...
 
merci de ta réponse

n°1960671
abais
Posté le 26-01-2010 à 22:06:36  profilanswer
 

Tu as 3 loaders différents, ce n'est pas malin, autant en utiliser qu'un seul...
Plutot qu'avoir 3 fonctions différente pour le comportement de tes bouton, autant en avoir une seule (on determinera l'action grace à l'argument :MouseEvent)

 
Code :
  1. //Le Sprite Conteneur...
  2. var conteneur : Sprite = new Sprite();
  3. conteneur.scaleX = conteneur.scaleY = 0.7;
  4. conteneur.x = 50;
  5. conteneur.y = 40;
  6.  
  7. //Les Boutons
  8. var bonton1:Bouton1 = new Bouton1();
  9. var bouton2:Bouton2 = new Bouton2();
  10. bonton1.x = bonton1.y =150;
  11. bouton2.x = bouton2.y =150;
  12. // C'est normal qu'ils aient la même position ? Je ne pense pas, mais tu changeras !
  13. this.addChild (bonton1);
  14. this.addChild (bonton2);
  15.  
  16. //Le loader
  17. var chargement :Loader = new Loader ();
  18. conteneur.addChild(conteneur);
  19. var adresse1 :URLRequest = new URLRequest ("image/imagearsenal1.jpg" );
  20. var adresse2 :URLRequest = new URLRequest ("image/imagearsenal2.jpg" );
  21.  
  22. chargement.load(adresse1);
  23. // Je charge la 1ere image par defaut...
  24.  
  25. bouton1.addEventListener (MouseEvent.MOUSE_DOWN,aparaitre);
  26. bouton2.addEventListener (MouseEvent.MOUSE_DOWN,aparaitre);
  27.  
  28. // Puis je déclare ma fonction
  29.  
  30. function aparaitre (evenement: MouseEvent): void
  31. {
  32.     switch (evenement.target.name)
  33.     {
  34.         case "bouton1" :
  35.             chargement.load(adresse1);
  36.             break
  37.         case "bouton2" :
  38.             chargement.load(adresse2);
  39.             break
  40.     }
  41.  
  42. }
 

Ton erreur était de faire un addChild() à chaque fois que les images étaient charger, sans faire de removeChild() de ce qui étaient deja là...
Dis moi si il y a quelque chose que tu comprend pas...
Tu n'es pas obligée de reprendre le coup de la fonction unique et le switch() en fonction de l'objet qui a été cliqué...
Je trouve ça plus "propre" perso...


Message édité par abais le 26-01-2010 à 22:08:37

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  afficher plusieur image dans un sprite en as3

 

Sujets relatifs
Probleme Loader et URLRequest en AS3Afficher le détail d'un enregistrement après un classement (PHP/MYSQL)
remplacer ou masquer une partie ciblé d une image avec jQuery[AS3] Souris au centre du swf à son ouverture
[VBSCRIPT] Modifier nom affiché sur le bureau pour "Mes documents"décalage image lors de la fonction onmouseover/onmouseout
faire un image et non pas un rendu HTML[PHP] Extraire automatiquement une image d'un site (cf.Facebook share)
Boite noir qui sui la souris sur une imageFaire que le texte contourne l'image
Plus de sujets relatifs à : afficher plusieur image dans un sprite en as3


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR