J'ai un problème pour faire disparaitre une image en action script
dams2007
Messages postés3Date d'inscriptiondimanche 4 juin 2006StatutMembreDernière intervention22 avril 2007
-
22 avril 2007 à 20:03
Darkrats
Messages postés212Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention12 mai 2008
-
23 avril 2007 à 09:23
Salut à tous, j'espère que quelqu'un pourra m'aider, je débute en action script et G un souci pour faire disparaitre une image que j'ai chargé en externe pour en charger une autre. Avec ce code mes images s'ajoute les unes à la suite des autres sans disparaitre.
Bboy_Minh
Messages postés16Date d'inscriptionvendredi 30 septembre 2005StatutMembreDernière intervention 3 juillet 2007 22 avril 2007 à 20:20
Hello,
Dans tes 2 fonctions, tu utilises this. qui fait référence à l'objet dans lequel tu te situes... c'est un concept de la programmation objet, concrètement dans ton code pour le bouton bouton_mc, lorsque tu utilises this. tu fait référence à bouton_mc. Donc tu peux remplacer le this. par bouton_mc ça ne changerait rien.
Idem pour bouton_mc1.
En réalité ce n'est pas le bouton qui doit charger l'image mais ton movieclip.
Tu dois donc remplacer tous les this. par le nom d'occurence de ton movieClip. Et ça devrait fonctionner.
Sinon côté pratique, tu écris deux fois :
this._x = -300;
this._y = -500; this._xscale this._yscale this._yscale / 4;
Ce qui n'est pas nécessaire, positionne et redimensionne ton movieClip au moment où tu le créé si tu le fait de manière dynamique sinon au début de ta page de code hors de tes 2 fonctions sur clic de tes boutons.
dams2007
Messages postés3Date d'inscriptiondimanche 4 juin 2006StatutMembreDernière intervention22 avril 2007 22 avril 2007 à 21:41
j'ai essayé et ça ne fontionne toujours pas, par contre tu avais raison pour this. à remplacerpar bouton_mc, C vrai que ça ne change rien.
Pour le
this._x = -300;
this._y = -500;this._xscale this._yscale this._yscale / 4;
C normal qu'il soit présent deux fois car ne n'est pas une version finale, après maes images n'auront pas la même taille donc je pourrais les caller comme je veux.
Darkrats
Messages postés212Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention12 mai 20081 23 avril 2007 à 09:23
Salut,
Alors comme l'a si bien expliqué Bboy_Minh, ton code remplace actuellement ton bouton_mc par ton image jpg.
Lorsque tu fais appel à la fonction loadMovie, celle-ci écrase le clip conteneur par la cible.
Dans le cas du code : clip_conteneur.loadMovie("image.jpg");
le clip "clip_conteneur" va être remplacer par l'image, les actions qui lui sont associées seront donc supprimées, etc.
Dans ton cas, le fait d'utiliser this.loadMovie("image.jpg") dans la fonction bouton provoque l'écrasement du bouton et donc la perte du bouton.
Je te conseillerai donc d'utiliser un clip conteneur qui serait au même niveau que le code de tes boutons et de faire un code comme ceci :
Code :
bouton_mc.onRelease = function (){
// Création dans le clip conteneur d'un clip vide qui recevra ton image
conteneur.createEmptyMovie("image1", conteneur.getNextHighestDepth());
// Chargement de ton image
conteneur.image1.loadMovie("image.jpg");
// Redimensionnement
conteneur.image1._x = -300;
conteneur.image1._y = -500; conteneur.image1._xscale conteneur.image1._yscale conteneur.image1._yscale / 4;
}
Fin du code
Par contre, j'ai un peu de mal à saisir ta question, tu veux faire quoi exactement ?
Supprimer l'image directement et la remplacer par la nouvelle ou faire une animation de disparition etc ?
Si tu veux simplement la remplacer tu peux faire ceci :
Code :
bouton_mc.onRelease = function (){
// Nettoyage du clip conteneur
conteneur.image.removeMovieClip();
// Création dans le clip conteneur d'un clip vide qui recevra ton image