Accueil > Forum > > > > AS3 Supprimer une fonction via intéraction de la timeline
AS3 Supprimer une fonction via intéraction de la timeline
lundi 2 mai 2011 à 11:36:29 |
AS3 Supprimer une fonction via intéraction de la timeline

dieudesdieu
|
Salut a tous!
Bon alors voila je viens car j'ai un script que je n'arrive pas à arrêter.
C'est un visualisateur d'image que je voudrais mettre sur une image de ma timeline avec un contenu différent.
Le problème c'est que j'arrive à le charger mais quand je clique sur mes boutons le suivant se charge aussi, mais par dessus l'autre et impossible de faire que le premier disparaisse.
J'ai essayé avec removeEventListener et avec un ecouteur (currentFrame) mais c'est pas folichons puisque ca ne fait rien...
Code ActionScript : //ce type d'interaction je l'avais trouvé sur un site mais je ne retrouve plus. Bien entendu j'ai eu pas mal de choses à adapté pour mon site.
import flash.net.URLLoader;
import flash.net.URLRequest;
import fl.containers.UILoader;
import fl.controls.ProgressBar;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.events.*;
import flash.text.*;
import flash.filters.*;
if(currentFrame == 18) {
var dossierImage:String = 'images/';// On déclare les variable du dossier images...
var dossierImageMini:String = 'images/min/';//... Et des miniatures
var chargeur:URLLoader = new URLLoader ();//On crée une varaiable qui vas charger notre fichier xml
var adresse:URLRequest = new URLRequest("galerie.xml");//Voila le fichier
chargeur.load(adresse);//On charge le fichier
chargeur.addEventListener(Event.COMPLETE, finDuChargementXML);// Quand le téléchargement est fini on initialise la fonction finDuChargementXML
var alt:String;// On initialise la variable qui contient un texte
var formatTitre:TextFormat = new TextFormat ;//On définit le style de notre texte pour les titres
formatTitre.color = 0xFFFFFF;
formatTitre.size = 17;
formatTitre.font = 'Orator Std';
formatTitre.align = 'center';
var texteAlt:TextField = new TextField();//On place le texte alternatif
texteAlt.text = '';//On incrémente la variable du texte de rien pour l'instant
texteAlt.x = 625;
texteAlt.y = 765;
texteAlt.width = 400;
this.addChild(texteAlt);//On ajoute le texte alternatif
var chargement:TextField = new TextField();//On initialise la variable de chargement
this.addChild(chargement);//Et on l'ajoute
function finDuChargementXML(evt:Event):void//On déclenche la réaction pour quand notre fichier xml est chargé
{
var monXML:XML = new XML(evt.target.data);// On initialise le fichier xml
var photoPrincipale:UILoader = new UILoader();// On crée un objet de la classe UILoader pour qu'il contienne notre grande image
photoPrincipale.source = dossierImage + monXML.image[1].attribute("src");
/*Pour pouvoir charger toutes les images du fichier on décris la source du fichier
en ciblant le dossier image plus haut, puis notre xml, et enfin la premiere
image de la premiere ligne de notre fichier xml.
*/
photoPrincipale.x = 375;
photoPrincipale.y = 175;
photoPrincipale.scaleContent = false;//On ne n'adapte pas le contenu afin d'être sur que je doive adapté mes photo en amont et ainsi optimiser leurs chargements
var translation:Array = [photoPrincipale.x,photoPrincipale.x + 30]; //On initialise le tableau en ajoutant 30 pixel à la premiere photo.
var select:String;// On prépare une variable à recevoir une image
texteAlt.text = monXML.image[1].attribute("alt");// De la meme facon qu'on à recupérer l'image, on récupère le texte
texteAlt.setTextFormat(formatTitre);// On applique la police etc au titre
this.addChild(photoPrincipale);// On affiche le loader
for (var i:String in monXML.image)// Maitenant on s'occupe des miniatures
{
var uil:UILoader = new UILoader();
uil.source = dossierImageMini + monXML.image[i].attribute("src");
uil.buttonMode = true;// On déclare que ce sont des boutons
uil.name = i;//On leurs donne une lettre pour pouvoir toutes les charger par la suite
uil.x = 75;
uil.y = 175;
uil.y += int((int(i)/3))*90;// On les places avec les écarts necessaires
if (int(i) % 3 != 0)
{
uil.x += (int(i)%3)*90;
}
uil.width = uil.height = 70; // comme on à des carrés c'est plus facile
uil.alpha = 0.5;//on baisse leur opacité de moitié
uil.scaleContent = true;// On peut se permettre un sacleContent car de toute facon on doit les cropper en carré
uil.autoLoad = true;// et on les charges tout de suite
uil.addEventListener(MouseEvent.CLICK,clicImage);
uil.addEventListener(MouseEvent.MOUSE_OVER,overImage);
uil.addEventListener(MouseEvent.MOUSE_OUT,outImage);
this.addChild(uil);
}
function clicImage(e:Event):void
{
if (select == monXML.image[e.currentTarget.name].attribute("src"))
{
return;// si on clique sur l'image que l'on utilise il ne se passe rien
}
select = monXML.image[e.currentTarget.name].attribute("src"); //on incrémente nos variables
alt = monXML.image[e.currentTarget.name].attribute("alt"); //Idem
var myTweentText:Tween = new Tween(texteAlt,"alpha",Strong.easeOut,1,0,1,true);// on utilise la classetweens pour que ca soit SULBIME...
/*Pour les tweens on à dabord l'objet sur lequel on veut agir, sur quel parametre on agit,
ensuite le "easing" CF: tt en haut, ensuite on dis d'ou il part et ou il arrive.
Ici il passe de visible à invisible. Et enfin la durée (en seconde)*/
var myTweenA:Tween = new Tween(photoPrincipale,"alpha",Strong.easeOut,1,0,1,true);
var myTweenPPW:Tween = new Tween(photoPrincipale,"x",Strong.easeIn,translation[0],translation[1],1,true);
var myTweenPPA:Tween = new Tween(photoPrincipale,"alpha",Strong.easeIn,1,0,1,true);
myTweenA.addEventListener(TweenEvent.MOTION_FINISH, changeImage);
}
function changeImage(e:Event):void//On s'attaque au changement d'image
{
photoPrincipale.source = dossierImage + select;// On reprend donc la variable select en fonction de là ou on clique
texteAlt.text = alt;//pareil pour le texte
texteAlt.setTextFormat(formatTitre);//et on applique le texte
var myTweenPPA2:Tween = new Tween(photoPrincipale,"alpha",Strong.easeOut,0,1,1,true);//pour la photo toujours les tweens
var myTweenPPW2:Tween = new Tween(photoPrincipale,"x",Strong.easeOut,translation[1],translation[0],1,true);
var myTweentText2:Tween = new Tween(texteAlt,"alpha",Strong.easeOut,0,1,1,true);
}
function overImage(e:Event):void//maintenant pour que ca soit encore plus joli on vas changer l'effet au RollOver
{
var monOmbre:DropShadowFilter = new DropShadowFilter();//avec une ombre
monOmbre.distance = 3;
monOmbre.color = 0xAAAAAA;
monOmbre.blurX = 5;
monOmbre.blurY = 5;
monOmbre.quality = 3;
e.currentTarget.filters = [monOmbre];//qu'on applique...
var myTweenMA2:Tween = new Tween(e.currentTarget,"alpha",Strong.easeOut,0.5,1,1,true);//....joliement
var myTweenMW2:Tween = new Tween(e.currentTarget,"width",Elastic.easeOut,e.currentTarget.width,75,1,true);
var myTweenMH2:Tween = new Tween(e.currentTarget,"height",Elastic.easeOut,e.currentTarget.height,75,1,true);
}
function outImage(e:Event):void//Quand on sors du survol
{
var monOmbre:DropShadowFilter = new DropShadowFilter();
monOmbre.distance = 0;
monOmbre.color = 0x888888;
monOmbre.blurX = 0;
monOmbre.blurY = 0;
monOmbre.quality = 3;
e.currentTarget.filters = [monOmbre];
var myTweenMA:Tween = new Tween(e.currentTarget,"alpha",Strong.easeOut,1,0.5,1,true);
var myTweenMW:Tween = new Tween(e.currentTarget,"width",Elastic.easeOut,e.currentTarget.width,70,1,true);
var myTweenMH:Tween = new Tween(e.currentTarget,"height",Elastic.easeOut,e.currentTarget.height,70,1,true);
}
}
}
else {
chargeur.removeEventListener(Event.COMPLETE, finDuChargementXML);
}
Voila donc si quelqu'un pouvais me donner un petit coup de main. Je suis sur que c'est facile mais impossible d'arriver à passer ce problème!!!
Merci beaucoup
|
|
jeudi 5 mai 2011 à 06:32:56 |
Re : AS3 Supprimer une fonction via intéraction de la timeline

BBFUNK01
|
Hello,
à mon avis tu n'envisages pas la bonne méthode : plutôt que de placer ce même script sur différentes images clés, tu aurais à mon avis meilleur compte de ne le placer que sur une seule image clé (programmation procédurale), ainsi tu auras une fonction à créer pour gérer le changement d'album et faire les removeChild qui vont bien pour initialiser l'affichage de ton nouvel album. Dans cette optique tu peux envisager de n'avoir qu'un seul fichier .xml, qu'un seul dossier où sont rangées tes images (avec d'éventuels sous-dossiers), donc une plus grande souplesse quand à la maintenance.
A plus  ,
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
musichrono
|
|
jeudi 5 mai 2011 à 10:16:47 |
Re : AS3 Supprimer une fonction via intéraction de la timeline

dieudesdieu
|
effectivement maintenant que tu le dis ca me semble un peu plus judicieux...
Même si je maitrise surement pas encore assez ca m'apprendra bien :)
Merci pour ta réponse!
|
|
Cette discussion est classée dans : image, var, tween, true, uil
Répondre à ce message
Sujets en rapport avec ce message
Récupérer width d'un MovieClip dynamique [ par HekThor ]
Bonjour !Je poste ici pour relancer un petit problème sur lequel je bloquais et que je suis sur le point de résoudre.Je cherche en fait à récupérer la
Problème tween sous AS3 [ par biguiz ]
Bonjour à tous et à toutes, Je cherche des solutions sur le web depuis un moment déjà mais sans réponses. Voici mon problème : je crée un cdrom dans l
Problème de gestion d'un fichier xml dans un site [ par ximeng ]
Bonsoir ! Je suis débutant en AS, je n'utilise jamais le xml et j'ai intégré un code dans mon site qui me rend un peu fou depuis quelques jour, j'ai t
Probleme chargement image [ par jobe06 ]
Bonjour, J'ai créer une animation en flash avec une fonction qui fait apparaitre l'image charger avec une transition et du texte... Jaimerai que te
carrousel et appel aléatoire [ par seth1 ]
Bonjour à tous et à toutes,je réalise actuellement un carrousel (vous savez, ces menus rotatifs) en flash et as2 avec appel XML.Ce dernier fonctionne
probleme entre 2 movieClipLoader et 1 onEnterFrame [ par Flothi27 ]
Mon code permet d'afficher des images avec un effet de fondu mais seulle la première image est jouée.Voici mon code :importmx.transitions.Tween;<font
repositionné movieclip [ par nicodogs ]
Bonjour à tous,Il y a quelques jours Girou m'avais donné un bon coup de main pour mon animation style "caroussel", l'anim marche très bien. Mais j'ai
Galerie xml attachmovie [ par ceddeg ]
bonjour à tous,Je débute en flash (ceci explique surement cela).Pour la création de mon futur site, j'ai emprunter le code suivant :Image 1 :this.gal
Utilisation des boucles ? [ par fanatikx ]
Bonjour, Voila, j'ai un petit soucis au niveau des boucles. Disons que j'ai 2 clip sur ma scène qui contiennent chacuns une image. Je veux que lorsque
reorganisation automatique de clip [ par fanatikx ]
Bonjour,voila je travail en ce moment sur la création d'un site internet qui contient plusieurs images/vignette (30px par 30). Ces images peuvent être
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|