Menu défilant

Description

Un menu défilant en boucle par la droite ou la gauche.
Choix du nombre de clips facilement paramètrable.

Source / Exemple :


///////////////////
// LES VARIABLES //
///////////////////
var centreClip = 4;// le clip 4 est au centre en début
var nbClip = 15;// ici le nombre de clip du menu
var repereX = 0;
var profClip:Number;
var choixGroupe:MovieClip = mini4_mc;
//dans ce tableau les noms des clips a exporter
var groupe:Array = new Array("clip1","clip2","clip3","clip4","clip5","clip6",
							 "clip7","clip8","clip9","clip10","clip11",
							 "clip12","clip13","clip14","clip15");
//dans ce tableau, le texte qui s'affiche quand on survole le clip
var nomGroupe:Array = new Array("CLIP 1","CLIP 2","CLIP 3","CLIP 4","CLIP 5","CLIP 6",
								"CLIP 7","CLIP 8","CLIP 9","CLIP 10","CLIP 11",
								"CLIP 12","CLIP 13","CLIP 14","CLIP 15");
//
_root.attachMovie(groupe[0],"mini"+0+"_mc",1, {_x:-25, _y:80});
_root.attachMovie(groupe[1],"mini"+1+"_mc",2, {_x:75, _y:80});
_root.attachMovie(groupe[2],"mini"+2+"_mc",3, {_x:175, _y:80});
_root.attachMovie(groupe[3],"mini"+3+"_mc",4, {_x:275, _y:80});
_root.attachMovie(groupe[4],"mini"+4+"_mc",5, {_x:375, _y:80});
_root.attachMovie(groupe[5],"mini"+5+"_mc",6, {_x:475, _y:80});
_root.attachMovie(groupe[6],"mini"+6+"_mc",7, {_x:575, _y:80});
_root.attachMovie(groupe[7],"mini"+7+"_mc",8, {_x:675, _y:80});
_root.attachMovie(groupe[8],"mini"+8+"_mc",9, {_x:775, _y:80});
/////////////////////////////
// FONCTION MENU DEROULANT //
/////////////////////////////
_root.onEnterFrame=function(){
	loupe();
	if(droiteZone_mc.hitTest(_xmouse, _ymouse, true)){
		for(i=-4;i<6;i++){
			if((centreClip+i)<0){
				_root["mini"+(nbClip+centreClip+i)+"_mc"]._x -= 10;
			}else if((centreClip+i)>(nbClip-1)){
				_root["mini"+(Math.abs(nbClip-(centreClip+i)))+"_mc"]._x -= 10;
			}else{
				_root["mini"+(centreClip+i)+"_mc"]._x -= 10;
			}
		}
		repereX -= 10;
		if(repereX == -100){
			repereX = 0;
			if((centreClip-4)<0){
				profClip = _root["mini"+(nbClip+(centreClip-4))+"_mc"].getDepth();
				removeMovieClip("mini"+(nbClip+(centreClip-4))+"_mc");
				_root.attachMovie(groupe[centreClip+5],"mini"+(centreClip+5)+"_mc", profClip, {_x:775, _y:80});
			}else if((centreClip+5)>(nbClip-1)){
				profClip = _root["mini"+(centreClip-4)+"_mc"].getDepth();
				removeMovieClip("mini"+(centreClip-4)+"_mc");
				_root.attachMovie(groupe[(Math.abs(nbClip-(centreClip+5)))],"mini"+(Math.abs(nbClip-(centreClip+5)))+"_mc", profClip, {_x:775, _y:80});
			}else{
				profClip = _root["mini"+(centreClip-4)+"_mc"].getDepth();
				removeMovieClip("mini"+(centreClip-4)+"_mc");
				_root.attachMovie(groupe[centreClip+5],"mini"+(centreClip+5)+"_mc", profClip, {_x:775, _y:80});
			}
			centreClip++;
			if(centreClip == nbClip){
				centreClip = 0;
			}
		}
	}
	if(gaucheZone_mc.hitTest(_xmouse, _ymouse, true)){
		for(i=-5;i<5;i++){
			if((centreClip+i)<0){
				_root["mini"+(nbClip+centreClip+i)+"_mc"]._x += 10;
			}else if((centreClip+i)>(nbClip-1)){
				_root["mini"+(Math.abs(nbClip-(centreClip+i)))+"_mc"]._x += 10;
			}else{
				_root["mini"+(centreClip+i)+"_mc"]._x += 10;
			}
		}
		repereX += 10;
		if(repereX == 100){
			repereX = 0;
			if((centreClip-5)<0){
				profClip = _root["mini"+(centreClip+4)+"_mc"].getDepth();
				removeMovieClip("mini"+(centreClip+4)+"_mc");
				_root.attachMovie(groupe[(nbClip+(centreClip-5))],"mini"+(nbClip+(centreClip-5))+"_mc", profClip, {_x:-25, _y:80});
			}else if((centreClip+4)>(nbClip-1)){
				profClip = _root["mini"+(Math.abs(nbClip-(centreClip+4)))+"_mc"].getDepth();
				removeMovieClip("mini"+(Math.abs(nbClip-(centreClip+4)))+"_mc");
				_root.attachMovie(groupe[(centreClip-5)],"mini"+(centreClip-5)+"_mc", profClip, {_x:-25, _y:80});
			}else{
				profClip = _root["mini"+(centreClip+4)+"_mc"].getDepth();
				removeMovieClip("mini"+(centreClip+4)+"_mc");
				_root.attachMovie(groupe[centreClip-5],"mini"+(centreClip-5)+"_mc", profClip, {_x:-25, _y:80});
			}
			centreClip--;
			if(centreClip == -1){
				centreClip = (nbClip-1);
			}
		}
	}
}
//////////////////////////////////////
// FONCTION LOUPE DU MENU DEROULANT //
//////////////////////////////////////
loupe = function(){
	for(i=0;i<nbClip;i++){
		if(_root["mini"+i+"_mc"].hitTest(_xmouse, _ymouse, true)){
			_root["mini"+i+"_mc"]._xscale = 130;
			_root["mini"+i+"_mc"]._yscale = 130;
			groupe_txt.text = nomGroupe[i];
			choixGroupe = _root["mini"+i+"_mc"];
			choixGroupe.onPress = function(){
				trace("j'ai choisi "+choixGroupe);
			}
		}else{
			_root["mini"+i+"_mc"]._xscale = 100;
			_root["mini"+i+"_mc"]._yscale = 100;
		}
	}
}

Conclusion :


Voir la source en application
http://www.lemin.fr/tokyoband.html

Codes Sources

A voir également

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.

Du même auteur (m1le)