cs_jpbond
Messages postés9Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention 8 mars 2010
-
27 mai 2007 à 18:09
cs_jpbond
Messages postés9Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention 8 mars 2010
-
30 mai 2007 à 09:27
Bonjour,
je viens de recuperer un code permettant de gerer un menu vertical Flash à l'aide d'un fichier xml.
Tout fonctionne tres bien à l'exception que les liens ne peuvent etre mis que sur les boutons des sous-menus. Les boutons de menu servent seulement à l'ouverture et fermeture de l'affichage de ces sous-menus et je cherche à modifier cela afin qu'un menu orphelin puisse etre aussi un lien (sinon je suis obligé de mettre au moins un sous-menu sur lequel je mets mon lien...c'est un peu bete.
Il n'y a pas de probleme dans la structure du xml. Actuellement j'ai ca :
j'ai essayé et ca ne fonctionne pas dans le flash car le lien sur les titres n'a pas été prévu. Et meme en essayant de recuperer le code des sous-titres, ca marche pas...mais je ne suis pas super fort en Actionscript.
voila ce que j'ai :
menus = new XML()
menus.load(sourcefile)
menus.ignoreWhite = true
//Main Button attaching and spacing
attachMovie("mainSuperButton","mainButton"+i,i)
mainButtonRef = eval("mainButton"+i)
mainButtonRef.textVar = menuData[i].attributes.name
mainButtonRef.index = i
mainButtonRef._y =i*mainSpace
//Main Button release action(rollover located in mainbutton mc)
mainButtonRef.onRelease = function() {
if(open == this.index){
//second click error check. closes menu
resetMenu()
open = undefined
}else{
//first click
open = this.index
this.gotoAndStop(3)
collapse(this)
}
//add any mainbutton open state actions here.. like alpha, etc..
//containers are hidden ..way.. off stage and moved on release
}
for(j=0;j<=subNodes.length;j++){
containerRef = eval("subContainer"+i)
if(subNodes[j].nodeName == "subitem"){
containerRef.attachMovie("subSuperButton","subButton"+j,j)
containerRef["subButton"+j].textVar = subNodes[j].attributes.name
containerRef["subButton"+j].page = subNodes[j].attributes.location
containerRef["subButton"+j]._y = j*subSpace
containerRef["subButton"+j].onRelease = function() {
//--------------------GOTO ACTION--------------\\
_root.gotoFunction(this.page)
this.gotoAndStop(3)
}
}
}
}
}
}
function collapse (except) {
num = except.index
subRef = eval("subContainer"+num)
resetMenu()
//The clips after the one clicked recieve new spots
for(i=num+1;i<=9;i++){
eval("mainButton"+i).JumpTo(subRef._height+i*mainSpace)
}
subRef._y = eval("mainButton"+num)._height+(num*mainSpace)+subYadjust
subRef._x = subXfactor
fade(subRef,"in")
}
//resets everything to original places
function resetMenu() {
for(j=0;j<=(9);j++){
eval("subContainer"+j)._alpha = 0
eval("subContainer"+j)._x = -1000000
eval("subContainer"+j)._y = 0
eval("mainButton"+j).JumpTo(j*mainSpace)
}
}
function fade(fadeTarget,param) {
if(param == "in"){
fadeTarget.onEnterFrame = function(){
if(this._alpha<100){
this._alpha+=5
}
}
}
}
la fonction qui m'interesse est la fonction "gotoFunction" dont le code est placé à la racine du Flash :
gotoFunction = function(link) {
//no quotes on link
getURL(link)
}
stop()
le MainButton ne gere que l'ouverture/fermeture...j'ai essayé ca :
//Main Button release action(rollover located in mainbutton mc)
mainButtonRef.onRelease = function() {
//--------------------GOTO ACTION--------------\\
_root.gotoFunction(this.page)
if(open == this.index){
//second click error check. closes menu
resetMenu()
open = undefined
}else{
//first click
open = this.index
this.gotoAndStop(3)
collapse(this)
}
//add any mainbutton open state actions here.. like alpha, etc..
//containers are hidden ..way.. off stage and moved on release
}
...pour reprendre le code des SubButton mais sans succes...
je dois pas etre loin mais je ne trouve pas...
cs_jpbond
Messages postés9Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention 8 mars 2010 29 mai 2007 à 16:17
non...malheurseusement ca ne marche pas et ca ne m'etonne pas car c'est un probleme de script Actionscript et pas de xml : dans le code du Flash, il n'y a aucune action permettant de recuperer un lien sur le type "bouton de titre"...par contre il y a bien une commande de ce genre sur le bouton de sous-titre mais je n'arrive pas appliquer ce code au titre principal
cs_alise
Messages postés2203Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention26 janvier 2010 29 mai 2007 à 20:53
bon je peux t'envoyer un truc sur lequel j'ai travaillé, un peu le même genre de menu et ou la formule que je t'ai donné fonctionne
passes-moi ton mail, je t'envoie ça
cs_jpbond
Messages postés9Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention 8 mars 2010 30 mai 2007 à 09:27
je veux bien mais ca ne reglera pas mon soucis :
le but est de ne pas avoir de suditem du tout dans le cas où j'en ai qu'un et de mettre le lien sur le titre...