Gestionnaires de profondeurs de fenêtres

Soyez le premier à donner votre avis sur cette source.

Vue 8 933 fois - Téléchargée 2 356 fois

Description

newWindow();
killWindow();
swapWindow(MovieClip);
showCadre(MovieClip); (drag n drop);

Source / Exemple :


windows = new Array();
newWindow = function () {
	windowDepth = windows.length+1000;
	window = _root.attachMovie("window", "window"+windows.length, windowDepth);
	window._x = windows.length*20+20;
	window._x = windows.length*10+10;
	windows.push({clip:window});
	_root.windowsListe.createListe();
};
swapWindows = function (p_clip) {
	for (i=0; i<windows.length; i++) {
		if (windows[i].clip == p_clip) {
			if (i != windows.length-1) {
				windows[i].clip.swapDepths(windows[i+1].clip);
				windows.splice(i+2, 0, windows[i]);
				windows.splice(i, 1);
			}
		}
	}
};

killWindow = function (p_clip) {
	for (i=0; i<windows.length; i++) {
		if (windows[i].clip == p_clip) {
			if (i != windows.length-1) {
				windows[i].clip.swapDepths(windows[i+1].clip);
				windows.splice(i+2, 0, windows[i]);
				windows.splice(i, 1);
			} else {
				unloadMovie(windows[i].clip);
				windows.splice(i, 1);
			}
		}
	}
	_root.windowsListe.createListe();
};

/////////////////////////////////

showCadre = function(p_cible){
	cadre = _root.createEmptyMovieClip("cadre",9998);
	cadre.lineStyle(1,"0xFFFFFF");
	cadre.beginFill("0xFFFFFF",10);
	cadre.moveTo(0,0);
	cadre.lineTo(0,p_cible._height);
	cadre.lineTo(p_cible._width,p_cible._height);
	cadre.lineTo(p_cible._width,0);
	cadre.lineTo(0,0);
	cadre._x = p_cible._x;
	cadre._y = p_cible._y;
	cadre.startDrag();
	p_cible.fond.onRelease = function(){
		cadre.stopDrag();
		if(cadre._x+cadre._width>Stage.width){
			cadre._x = Stage.width-cadre._width;
		}
		if(cadre._x < 0){
			cadre._x = 0;
		}
		if(cadre._y+cadre._height>Stage.height){
			cadre._y = Stage.height-cadre._height;
		}
		if(cadre._y < 0){
			cadre._y = 0;
		}
		goTo(p_cible,cadre._x,cadre._y);
			cadre.unloadMovie();
	}
	p_cible.fond.onReleaseOutside = function(){
		cadre.stopDrag();
		if(cadre._x+cadre._width>Stage.width){
			cadre._x = Stage.width-cadre._width;
		}
		if(cadre._x < 0){
			cadre._x = 0;
		}
		if(cadre._y+cadre._height>Stage.height){
			cadre._y = Stage.height-cadre._height;
		}
		if(cadre._y < 0){
			cadre._y = 0;
		}
		goTo(p_cible,cadre._x,cadre._y);
			cadre.unloadMovie();
	}
}
goTo = function (cible, cible_x, cible_y) {
	cible.cible_x = cible_x;
	cible.cible_y = cible_y;
	flex = 0.3;
	cible.pgCoin._x = cible._width-10;
	cible.pgCoin._y = cible._height-10;
	cible.onEnterFrame = function() {
		cible._x += (cible.cible_x-cible._x)*flex;
		cible._y += (cible.cible_y-cible._y)*flex;
		if (Math.round((cible.cible_x-cible._x)*flex) == 0 && Math.round((cible.cible_y-cible._y)*flex) == 0) {
			cible._x = cible.cible_x;
			cible._y = cible.cible_y;
			cible.onEnterFrame = function() {
			};
		}
	};
};

Conclusion :


J'ai fait ça pour un besoin personel à la base, si vous avez des suggestions...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
42
Date d'inscription
lundi 28 avril 2003
Statut
Membre
Dernière intervention
28 mars 2014

fait une recherche sur geturl :)
Messages postés
1
Date d'inscription
samedi 3 juillet 2010
Statut
Membre
Dernière intervention
14 juillet 2010

superbe code, merci beaucoup. Quelqu'un pourrait il juste m'informer sur comment je peux mettre pluseir bouton sur la même page sans que ça m'ouvre la même fenêtre
merci d'avance.
Messages postés
6
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 juin 2007

C'est incroyable comme on avance vite dans Flash à force de bidouiller vos codes...Il y a 3 mois, je ne savais rien faire du tout, mais à force, on découvre de plus en plus de fonctionnalités de Flash qui sont vraiment excellentes!

Voilà encore un bout de code qui va me donner des idées ;)

Un 10/10 de plus!!!
Messages postés
79
Date d'inscription
samedi 12 novembre 2005
Statut
Membre
Dernière intervention
3 mars 2010

merci pour ce tuto
je découvre le code qui colle à cet effet sur le relachement des fenetres,
j'aurais jamais trouver ;)
Messages postés
40
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
23 mars 2009

Pas mal !
J'aime bien; je travail sur un projet similaire en ce moment... Et ton effet sur les fenetres me plait beaucoup !
Je te mets 10, histoire de saluer l'effort

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.