Ho provato a cambiare il codice per "aggiornarlo" alla versione 8.. ma non sono molto capace..
C'è qualche anima pia che mi potrebbe dare una mano, magari anche solo spiegando quello che dovrei cambiare.

ecco il codice:

codice del componente BounceMenu:

Codice PHP:
menus = new XML()
menus.load(sourcefile)
menus.ignoreWhite true

menus
.onLoad = function(success) {
    
menuData menus.firstChild.childNodes
    
    
for(i=0;i<menuData.length;i++){
        
subNodes menuData[i].childNodes
        
if(menuData[i].nodeName == "button"){
            
//Container clip holds submenu data
            
createEmptyMovieClip("subContainer"+i,i-menuData.length)
            eval(
"subContainer"+i)._alpha 0
            
eval("subContainer"+i)._x = -1000000
            
            
//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
            
}
        }
    }

ed ecco il codice del componente interno (dove c'è la funzione che secondo me non va):

Codice PHP:
this.onRollOver = function() {
    
gotoAndStop(2)
}
this.onRollOut = function() {
    
gotoAndStop(1)
}

function 
JumpTO(newY) {
    
//controls the acceleration of the items
    //a: greater = slower (default=4)
    //d: greater = less bounce (default=1.9)
    
4
    d 
1.9
    this
.onEnterFrame = function() {
    
myYspeed = ((this._y-newY)/a+myYspeed)/d
    this
._y -= myYspeed
    
}

Secondo me il problema è nelle funzioni, non viene passato correttamente l'oggetto...
Pls aiutatemi