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

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Problème avec mon menu !


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

Problème avec mon menu !

jeudi 22 avril 2010 à 15:59:04 | Problème avec mon menu !

figueline

Bonjour,

J'ai un petit souci avec mon menu (xml). 1 clic sur une rubrique (5 rubriques au total) est sensé faire défiler mon bandeau (ou slider). En temps normal, lorsque les boutons sont affichés sur la scène, on attribue une valeur à chaque bouton :

Bouton 1 on (release) {
menu.targetx = 0.0;
}

Bouton 2 on (release) {
menu.targetx = 46.0;
}

et ainsi de suite.

Or, dans le cas présent, je ne peux en aucun cas intervenir sur lesdits boutons puisque ces derniers apparaissent uniquement en mode "publication". Aussi, comment dois-je procéder au niveau du code ? Ceci vous semble-t-il correct ?

Code de départ, affichant une url dans une autre fenêtre :

myMovie[maskInstance].onRelease = function() {
getURL(myMovie["item"+i].url, "_blank");
};
}

Code modifié :

myMovie[maskInstance].onRelease = function() {
getURL(myMovie["item"+i].menu1, "targetx = 46.0");
};
}

En XML, j'ai :

<menu>
<item bkg="0x6B6052" url="http://www.flashcomponents.net">
<content><![CDATA[<font color="#FFFFFF" size="23px">PAYSAGES IMAGINAIRES</font>]]></content>
</item>

En fait, je ne souhaite pas qu'il y ait une url... puisque le but étant de faire défiler le bandeau de gauche à droite et inversement et non d'ouvrir une URL dans une fenêtre...

Avez-vous une idée ?

Merci de votre aide si précieuse !
jeudi 22 avril 2010 à 17:36:48 | Re : Problème avec mon menu !

dj_ouf

Salut,

Si tu veux supprimer la fonctionnalité de naviguer à travers une url, tu peux carrément supprimer cette ligne :
Code ActionScript :
getURL(myMovie["item"+i].menu1, "targetx = 46.0"); 


Par contre pour t'aider, ça ne va pas être suffisant, comment sont créés les boutons de sous-menu ? (myMovie[maskInstance])
Qu'est ce que menu.targetx ?
jeudi 22 avril 2010 à 18:17:50 | Re : Problème avec mon menu !

figueline

Merci de ta réponse...
Dans un premier temps, j'ai supprimé dans le fichier XML cette ligne :

Code XML :
url="http://www.flashcomponents.net">


Le code initial dans flash est le suivant :
Code ActionScript :
myMovie[maskInstance].onRelease = function() { 
getURL(myMovie["item"+i].url, "_blank"); 
}; 
} 


qui renvoit à la ligne xml url="http://www.... voir ci-dessous...

Code XML :
<?xml version="1.0"?>
<menu>
	<item bkg="0x6B6052" url="http://www.flashcomponents.net">
		<content><![CDATA[<font color="#FFFFFF" size="23px">PAYSAGES IMAGINAIRES</font>]]></content>
	</item>
	<item bkg="0xE44A25" url="http://www.flashcomponents.net">
		<content><![CDATA[<font color="#FFFFFF" font-weight="bold" size="23px">LES Z'AMIS Z'ANIMAUX</font>]]></content>
	</item>
	<item bkg="0xE58C24" url="http://www.flashcomponents.net">
		<content><![CDATA[<font color="#FFFFFF" size="23px">MISE EN BOUCHE</font>]]></content>
	</item>
	<item bkg="0x82A324" url="http://www.flashcomponents.net">
		<content><![CDATA[<font color="#FFFFFF" size="23px">TRAITS URBAINS</font>]]></content>
	</item>
	<item bkg="0xE6BD2F" url="http://www.flashcomponents.net">
		<content><![CDATA[<font color="#FFFFFF" size="23px">CROQUEZ LA VIE</font>]]></content>
	</item>
	<item bkg="0x373531" url="http://www.flashcomponents.net">
		<content><![CDATA[<font color="#FFFFFF" size="23px">VERT 2 Z'ECO</font>]]></content>
	</item>
	
</menu>



Or, je souhaite appliquer aux boutons une action : faire défiler le bandeau... Chaque bouton correpond à un rectangle (il y en a 5 et qui forment ledit bandeau)...


Voici la page du menu en question :

Easy Tweener Menu

J'ignore ce que je dois mettre dans flash...

Je ne peux pas balancer le .fla malheureusement.

Merci !!
vendredi 23 avril 2010 à 15:46:09 | Re : Problème avec mon menu !

dj_ouf

Ok je comprend déjà un peu mieux ce que tu veux faire..

Bah pourquoi pas appeler une fonction scrollBandeau(value) au clique sur un bouton ?

Code ActionScript :
Bouton 1 on (release) {
   scrollBandeau(0.0);
}
Bouton 2 on (release) {
   scrollBandeau(46.0);
}

function scrollBandeau(value) {
   Tween(bandeau_mc, "_x", Ease.in, bandeau_mc._x, value, 1);
}


Bon, tes boutons sont crées dynamiquement comme tu dis. Bah dans la boucle où ils sont crées, il faut donc leur ajouter leur méthode bouton.onRelease tout simplement. Et pour le targetx, soit tu le définit directement avec le i de la boucle si tes carrés de ton bandeau sont des carrés de même taille (donc targetx = i * largeurCarre), on sinon tu les définis dans la balise xml du menu ( <item bkg="0xE44A25" targetx="46.0"> )

A voir donc en fct de ce que tu veux..
vendredi 23 avril 2010 à 16:59:04 | Re : Problème avec mon menu !

figueline

Merci...

Mon bandeau est constituté de rectangles de même taille. J'ai donc défini dans la balise xml comme suit <item bkg="0xFFFFFF" targetx="46,0">.

Quant à la fonction .... j'ai bien bidouillé... mais franchement je ne vois pas très bien où ajouter la méthode onRelease... Voici le code... Pour info, j'ai laissé le code d'origine, mais je sais que je dois supprimer la dernière ligne de code myMovie[maskInstance].onRelease = function() {
getURL(myMovie["item"+i].url, "_blank");
};


Code ActionScript :
import caurina.transitions.Tweener;

var xmlData = "menu.xml";
var xmlObj:XML;
var textY = new Array();
var bkgColor = new Array();
var spacing = 1; //space between menu items
var bkgItemWidth = 17; //how much the item background to be scaled

//animation times
var timeBkg = 1;
var timeText1 = 2;
var timeText2 = 0.5;

//end animation times

//liniar, easeOutElastic, easeOutBounce, easeOutBack, easeOutCirc
// easeInElastic, easeInBounce, easeInBack, easeInCirc

var effTransitionBkg = "linear";
var effTransitionText = "linear";
var numItems;
var xa;
var myMovie = this;
var objects;


init();//init call

function init() {
	xmlObj = new XML(xmlData);
	xmlObj.ignoreWhite = true;
	xmlObj.load(xmlData);
	this.onEnterFrame = checkXMLprogress;
}

function checkXMLprogress() {
	var tmpBytesLoaded = xmlObj.getBytesLoaded();
	var tmpBytesTotal = xmlObj.getBytesTotal();
	if ((tmpBytesLoaded == tmpBytesTotal) && (tmpBytesTotal>4)) {
		delete this.onEnterFrame;
		addMenuItems();
		}
	//end if    
}

function addMenuItems() {

	objects = xmlObj.firstChild.childNodes;
	numItems = objects.length;

	for (var i = 0; i<numItems; i++) {
		startItems(i);
	}

}

function startItems(i) {

	var menuitem = "item"+i;
	var maskInstance = "mask"+i;
	var textInstance = "text"+i;
	myMovie.attachMovie("menuitem",menuitem,this.getNextHighestDepth());
	myMovie.attachMovie("mask",maskInstance,this.getNextHighestDepth());
	myMovie.attachMovie("textMc",textInstance,this.getNextHighestDepth());
		
	myMovie[textInstance].tf.htmlText =  objects[i].childNodes[0].firstChild.nodeValue;
	myMovie[textInstance]._alpha = 0;

	if (i>0) {
		myMovie[menuitem]._y = i*(myMovie[menuitem]._height+spacing);
		myMovie[maskInstance]._y = i*(myMovie[maskInstance]._height+spacing);
		myMovie[textInstance]._y = i*(myMovie[maskInstance]._height+spacing);
	}
	
	myMovie[menuitem].url = objects[i].attributes.url;

	myMovie[textInstance].tf.autoSize = true;

	var my_color:Color = new Color(myMovie[menuitem].itemBkg);
	my_color.setRGB(objects[i].attributes.bkg);

	xStart = myMovie[menuitem]._xscale;
	
	myMovie[maskInstance].onRollOver = function() {
		
		var initX = xStart*bkgItemWidth;
		Tweener.addTween(myMovie["item"+i],{_xscale:initX,time:timeBkg,transition:effTransitionBkg});
		
		this._xscale = initX;
		var xTextFinish = this._width - myMovie["text"+i].tf._width - 5;
		Tweener.addTween(myMovie["text"+i],{_x:xTextFinish,time:timeText1,transition:effTransitionText});
		Tweener.addTween(myMovie["text"+i],{_alpha:100,time:timeText1,transition:effTransitionText});
	
	};
	myMovie[maskInstance].onRollOut = function() {
		
		Tweener.addTween(myMovie["item"+i],{_xscale:xStart,time:1,transition:effTransitionBkg});
		var xTextFinish2 = this._x;
		Tweener.addTween(myMovie["text"+i],{_x:xTextFinish2,time:timeText2,transition:effTransitionText});
		Tweener.addTween(myMovie["text"+i],{_alpha:0,time:timeText2,transition:effTransitionText});
		
		this._xscale = xStart;

	};
	myMovie[maskInstance].onRelease = function() {
		getURL(myMovie["item"+i].url, "_blank");
	};
}


lundi 26 avril 2010 à 10:40:01 | Re : Problème avec mon menu !

dj_ouf

Hé ben c'est là, dans tes dernières lignes de code :

Code ActionScript :
	myMovie[maskInstance].onRelease = function() {
		[del]getURL(myMovie["item"+i].url, "_blank");[/del]
                scrollBandeau(46.0);
	};


C'est dans cette fonction qu'on décrit le comportement lors du clic sur le bouton.
lundi 26 avril 2010 à 11:13:16 | Re : Problème avec mon menu !

figueline

Eh ben... ça ne marche pas !! une nouvelle fenêtre s'affiche !!!!

Dans le fichier xml, au lieu de la ligne :

<item bkg="0xE44A25" url="http://www...">

j'ai tapé <... targetx="46.0"> et ainsi de suite (pour chaque bouton).

Le problème est que j'ai 5 boutons :

Le premier bouton : targetx=46.0;
Le deuxième bouton : = -324.6;
Le troisième bouton : -696.7;
et ainsi de suite....

et j'ai un menu dynamique...

Pas évident, non ?!
lundi 26 avril 2010 à 17:24:25 | Re : Problème avec mon menu !

dj_ouf

une nouvelle fenêtre s'affiche !!!!


Quelle fenêtre? tu parle du panel "sortie" ? si c'est ça faudrait coller ce qui est écrit dedans car c'est du débogage!!

Tu peux tester ça, et voir ce qu'il t'affiche, si c'est "Null", ben c'est qu'il est dans les choux dès le début...
Code ActionScript :
myMovie[maskInstance].onRelease = function() {
		trace(this);
                scrollBandeau(46.0);
	};

lundi 26 avril 2010 à 18:06:10 | Re : Problème avec mon menu !

figueline

Je parlais de la fenêtre du navigateur...

Bon, j'ai essayé et tenté d'autres choses... rien ne se passe...
Franchement, j'en perds mon latin !!!
mardi 27 avril 2010 à 09:58:29 | Re : Problème avec mon menu !

dj_ouf

Une nouvelle fenêtre de ton navigateur s'ouvre car il y a le getURL.

Tu peux pas poster un fla en isolant juste le menu et le bandeau, on y verrait + clair. Parce que là on cherche un peu l'aiguille cachée dans une botte de foin.

1 2

Cette discussion est classée dans : bouton, menu, url, mymovie, targetx


Répondre à ce message

Sujets en rapport avec ce message

Aide pour un son sur un bouton ! [ par SkyCrasher ] Voila je débute tout juste en flash (5 jours)Donc évidemment je ne métrise pas l'ActionScript:J'ai deux boutons PLAY et STOPDès l'affichage, j'aimerai Son sur un bouton [ par benpro82 ] Bonjour, J'aimmerais savoir comment on fait pour:Quand on clik sur un bouton celui-ci émet un bruit??Merci d'avance!BenproWorms3d.fr.st<img src="http: bouton pour selectionner une image dans un formulaire [ par cbil ] Cedric mailto:Salut,Je veux faire un formulaire en flash et insérer un bouton qui permettra de selectionner une image situer sur un ordi problème de menu [ par marjolaine76 ] Bonjour tout le monde.J'espere que tout le monde va bien.Je vous expose mon problème j'ai trouvé un menu me convenant parfaitement, sur un site concur Créer un lien autre que URL [ par malt ] Bonjour,Est-il possible avec flash de créer un fichier "menu" qui contiendrait des boutons permettant la navigation à l'intérieur d'un CD Rom.En bref, comment demarrer un clip a partir d'1 bouton????? [ par mikiky ] bonjour, voila g creer un site en flash, et j'ai creer un menu avec 4 boutons ; chaques boutons doit ouvrir un autre menu, avec mes liens finaux, par insertion de séquence [ par noupha ] Salut à tous,Quelqu'un serait-il en mesure de me dire pourquoi cela ne fonctionne pas : dans séquence 1 : je veux mettre en place un menu déroulant, bouton precedent offline [ par stepao20 ] Je veux faire un cd rom sous flash mx 2004 destiné à une utilisation offline, il se compose de plusieurs sequence dont une qui sera un menu. Je voudra Qui sait modifié le texte d'un menu bouton ? [ par hackoustik ] Voila le menu en Flash que j'ai, mais je ne comprend rien en flash, et qd je modifi un choix de menu, tout ce modifi, si kelk1 sait comment faire sa m menu flash et recup de l'url [ par kite4life ] Comment puis-je récuperer des champs dans mon url pour les inserer automatiquement dans le lien mon menu flashExample : Voici mon url : Http://www.mon


Nos sponsors


Sondage...

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,749 sec (3)

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