begin process at 2012 05 27 07:38:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

diaporama loadmovie : SetInterval qui ne se vide pas


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

diaporama loadmovie : SetInterval qui ne se vide pas

mardi 2 mars 2010 à 23:05:48 | diaporama loadmovie : SetInterval qui ne se vide pas

croco73

Membre Club
Bonsoir à tous et à toutes,
J'appelle la communauté de flashkod en l'espoir que celle ci puisse m'aider.

J'ai un site intégralement en AS2. le fichier principal contient 4 scènes
dans la première , j'ai un clip contenu qui contient ce code:
Code ActionScript :
var monClip:MovieClip = this.createEmptyMovieClip("conteneur", 0);//clip conteneur
monClip._x = 28;
monClip._y = -40;
monClip._xscale = 94;
monClip._yscale = 102;
var mct:MovieClipLoader = new MovieClipLoader();//gestionnaire du chargement

var liste:Object = new Object();

liste.onLoadProgress = function(target:MovieClip, loaded:Number, total:Number):Void  {
	var total = target.getBytesTotal();
	var loaded = target.getBytesLoaded();
	part_load = Math.round((loaded/total)*100);
	display = part_load+"%";
	bar._xscale = part_load;
};
liste.onLoadComplete = function(target:MovieClip):Void  {
	display = "";
	bar._visible = false;
	contour_bar._visible = false;
};

mct.addListener(liste);
mct.loadClip("./diapo.swf",monClip);//chargement de monswf.swf dans monClip

stop();


dans le fichier diapo.swf, j'ai une image clé qui contient le code suivant :
Code ActionScript :
this._lockroot=true
//Création des variables
var images:Array = new Array();
var param:Array = new Array();
var imageActu:Number;
var imageNext:Number;
var annee:Date = new Date();
//Viariables des intervals
var interAlpha:Number;
var interImage:Number;
var interTest:Number;
//Temps de pause par défaut
var timeStart:Number = 200;
var timeBetween:Number = 100;
//Variable pour la transition alpha
var val_alpha:Number = 0;
//Création des flags
var image1:Boolean = false;
var image2:Boolean = false;
var init:Boolean = true;

//MovieClip Conteneur1
var conteneur1:MovieClip = this.createEmptyMovieClip("conteneur1", 2);
var mclListener1:Object = new Object();
var mcl1:MovieClipLoader = new MovieClipLoader();
mcl1.addListener(mclListener1);

//MovieClip Conteneur2
var conteneur2:MovieClip = this.createEmptyMovieClip("conteneur2", 1);
var mclListener2:Object = new Object();
var mcl2:MovieClipLoader = new MovieClipLoader();
mcl2.addListener(mclListener2);

//Création d'un nouveau menu contextuel
var rootMenu = new ContextMenu();
rootMenu.hideBuiltInItems();
var rootMenuItem = new ContextMenuItem("© "+annee.getFullYear()+" Arobase Services", email);
rootMenu.customItems.push(rootMenuItem);
_root.menu = rootMenu;

function email() {
	//getURL("@", "_self");
}


//Chargement du fichier XML contenant la liste des photos
var diapo:XML = new XML();
diapo.ignoreWhite = true;
diapo.load("diapo.xml");
//Traitement une fois le chargement effectuer
diapo.onLoad = function(success:Boolean) {
	if(success){
		//Creation des noeud
		var noeudImage:XMLNode = this.firstChild.childNodes[0];
		var noeudParam:XMLNode = this.firstChild.childNodes[1];
		for (var i:Number = 0; i<noeudImage.childNodes.length; i++){
			var temp:Object = new Object();
			temp.titre = noeudImage.childNodes[i].attributes.titre;
			temp.comm = noeudImage.childNodes[i].attributes.comm;
			temp.xTxt = noeudImage.childNodes[i].attributes.xTxt;
			temp.yTxt = noeudImage.childNodes[i].attributes.yTxt;
			images.push(temp);
		}
		for (var i:Number = 0; i<noeudParam.childNodes.length; i++){
			var temp:Object = new Object();
			temp.valeur = noeudParam.childNodes[i].attributes.valeur;
			temp.comm = noeudParam.childNodes[i].attributes.comm;
			param.push(temp);
		}
		imageInit();
	}
}

imageInit = function(){
	if((param[0].valeur == "true")|(param[0].valeur == undefined)){
		imageActu = randomNum(0, images.length-1);
		imageNext = randomNum(0, images.length-1);
		imageRandom();
	}else{
		imageActu = 0;
		imageNormal();
	}
	if(param[1].valeur != undefined){timeStart = param[1].valeur;}
	if(param[2].valeur != undefined){timeBetween = param[2].valeur;}
	mcl1.loadClip(images[imageActu].titre, conteneur1);
	mcl2.loadClip(images[imageNext].titre, conteneur2);
}

mclListener1.onLoadComplete = function(target:MovieClip):Void {
	image1 = true;
	if(init){
		if(image2){
		init = false;
		interImage = setInterval(_root,"imageSwap",timeStart);
		}
	}else{
		conteneur2.swapDepths(conteneur1);
		mcl2.loadClip(images[imageNext].titre, conteneur2);
	}
}

mclListener2.onLoadComplete = function(target:MovieClip):Void {
	image2 = true;
	if(init){
		if(image1){
		init = false;
		interImage = setInterval(_root,"imageSwap",timeStart);
		}
	}else{
		interImage = setInterval(_root,"imageSwap",timeBetween);
	}
}

imageSwap = function(){
	clearInterval(interImage);	
	interAlpha = setInterval(this,"imageAlpha",6);
}

imageAlpha = function(){
	if(val_alpha < 100){
		conteneur1._alpha = (100-val_alpha);
		conteneur2._alpha = val_alpha;
		val_alpha += 1;
	}
	else{
		clearInterval(interAlpha);
		val_alpha = 0;
		imageActu = imageNext;
		if(param[0].valeur == "true"){
			imageRandom();
		}else{
			imageNormal();
		}
		conteneur1.swapDepths(conteneur2);
		conteneur1._alpha = 100;
		mcl1.loadClip(images[imageActu].titre, conteneur1);
	}
}

imageRandom = function(){
	while(imageActu == imageNext){
		imageNext = randomNum(0, images.length-1);
	}
}

imageNormal = function(){
	if(imageActu == images.length-1){
		imageNext = 0;
	}else{
		imageNext = imageActu+1;
	}
}

randomNum = function(min:Number, max:Number):Number{
	var num:Number = Math.floor(Math.random() * (max - min + 1)) + min;
	return num;
}


Le diaporama fonctionne sans soucis et le loadmovie aussi.
De la, vous allez me dire tout va bien mais ca serait trop simple^^

Dans le clip contenu de la scène principale, j'ai 3 diaporama swf appelé. Dès que j'affiche les 3 à la suite ( avec des appels et des vidages de mes variables sur des boutons bien sur ) les diaporamas finissent par s'accelerer sans pouvoir se ralentir.

J'ai tout essayé pour vider mon setInterval mais rien n'y fait.
J'ai finis par vider tout mes clips mais ca non plus ca ne marche pas.

Je ne vois plus de solutions.
Quelqu'un peux t'il m'aider ??
Merci d'avance et en espérant avoir été assez précise.
croco
mercredi 3 mars 2010 à 23:19:10 | Re : diaporama loadmovie : SetInterval qui ne se vide pas

croco73

Membre Club
Réponse acceptée !
rebonsoir la communauté,
je ferme le topic car gazette67 m'a répondu sur mon erreur.
J'ai 3 boutons ( contenu dans un clip) qui appelle mes swf dans un loadmovie.
Les liens sur ces boutons étaient incorrect :
Code ActionScript :
_root.Lenomduclip-quiload.removeMovieClip();

et en fait , il fallait mettre :
Code ActionScript :
_parent.Lenomduclip-quiload.monClip.removeMovieClip();

Voila tout bête mais assez casse pied qd mm ^^

En espérant que ca aidera quelqu'un sur cette source bien utile



Cette discussion est classée dans : function, var, number, object, if


Répondre à ce message

Sujets en rapport avec ce message

Lien sur image dans un diaporama flash ? [ par phobiahz ] Bonjour a tous !Voila j'ai le code d'un diaporama (fixe mais avec fondu entre les images) dont les images sont chargées dynamiquement a partir d'un fi aide pour un debutant [ par coreangel ] bonjour je vien de recup sur le site un diaporama (DIAPORAMA XML AVEC FONDU) de hiltonet j aimerai pouvoir lire des annime .swf mais je sais pas comme relancer un diaporama XML sur un second XML [ par vegetalain ] Salut tout le monde... alors voilà, je suis dsl mais je ne sais plus où j'ai pris le code dont je vais vous parler :/ snif.Le code suivant permet de c stopper un carrousel sur un angle prédéfini [ par neuronezero ] Alors voilà mon problème...J'ai fais un carrousel tout simple en AS2, mais je désirerais faire en sorte que quand je clik sur l'un des objets le carro scroll ne s'arrête pas au bas du texte [ par Baby Jane ] Bonjour,J'ai réalisé un vertical scrollbar pour un site entièrement en flash 8. Je souhaite que lorsque le scrollFace est au bas de mon scrollTrack, c Besoin d'aide pour un novice [ par jussy ] Bonjour a tous et tout d'abord bonne année! Je suis nouveau ici et je galère pas mal avec flash en xml, j'ai recupéré un fichier fla avec un xml, j'ai pb positionnement [ par nicodogs ] Bonjour à tous, J'aimerais avoir vos lumières car je suis un peu perdu. J'ai une galerie style slideshow et j'ai quelques pb pour la paramètrer. Ce Menu deroulant dynamique ... fonction globale ? [ par dims87 ] Bonjour à Tous , Je m'appelle Dimitri et je me lance intensivement dans action script depuis 3 bonnes semaines. Je me suis inspiré d'un exercice du Bouton Sur un carrousel chargé dynamiquement [ par Dylancozian ] Bonjour ami flasheur  Je viens vers vous car j'ai un problème avec un carrousel en flash. Un ami m'a passé une source qu'il a récupérait sur internet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales