PDA

Volledige versie bekijken : diepte van recursive functie?


theFlashWizard
%Europe/Berlin %029 %2005, 01:43
hoi mensjes,
ik probeer een menu met submenu's te maken met een een recursive functie, maar ik moet om aan te geven welke knop hij moet attachten weten diep je zit.
dit omdat n submenu andere knoppen heeft, en daar een submenu weer van ook andere knoppen heeft..
dus wil ik iets als een niveau bijhouden.. maar dat lukt dus niet..
dit is het script wat ik nu heb.. maar het punt is dat hij het niveau altijd opteld.. en het hoogste niveau bijv nooit 0 blijft..

function makeRed(parentMC,niveau){
for(var i=1;i<=parentMC.A;i++){
currentName = parentMC._name+i
currentMc = this[currentName]

trace(currentName+" "+niveau)

if(currentMc.A > 0){

niveau++
makeRed(currentMc,niveau)
}
}
}
makeRed(mc,0)

kan iemand me hier verder mee helpen?
alvast bedankt!

TheDutch
%Europe/Berlin %226 %2005, 06:26
Je kun toch ook "i" beginnen bij het max aantal en er dan steeds wat vanaf halen?

theFlashWizard
%Europe/Berlin %233 %2005, 06:35
ik zie eerlijk gezegt niet wat ik daarmee opschiet..
want als optellen niet werkt (wat ik nu doe) zou aftrekken vast ook nie werken..
en btw de rest van de functie werkt prima he.. daar is niks mis mee.. alleen dat niveau nu nog..

theFlashWizard
%Europe/Berlin %275 %2005, 07:36
sorry voor het storen jongens.. zo werkte het:

function makeRed(parentMC,niveau){
niveau++
for(var i=1;i<=parentMC.A;i++){
currentName = parentMC._name+i
currentMc = this[currentName]

trace(currentName+" "+niveau)

if(currentMc.A > 0){
makeRed(currentMc,niveau)
}
}
}
makeRed(mc,0)

Dauntless
%Europe/Berlin %278 %2005, 07:41
Nu gaat je depth alleen omhoog als hij een subItem heeft. Dat is waarschijnlijk toch niet altijd het geval?
function makeRed(parentMC,niveau){
niveau++
for(var i=1;i<=parentMC.A;i++){
currentName = parentMC._name+i
currentMc = this[currentName]

trace(currentName+" "+niveau)

if(currentMc.A > 0){
makeRed(currentMc,niveau)
}
}
}
makeRed(mc,0)

//Edit: Te laat :)

TheDutch
%Europe/Berlin %301 %2005, 08:14
ik zie eerlijk gezegt niet wat ik daarmee opschiet..
want als optellen niet werkt (wat ik nu doe) zou aftrekken vast ook nie werken..
en btw de rest van de functie werkt prima he.. daar is niks mis mee.. alleen dat niveau nu nog..
Dan snap ik je probleem denk ik niet :).
Heb je FLA ook niet gechecked omdat ik daar geen tijd voor heb.

theFlashWizard
%Europe/Berlin %329 %2005, 08:54
ik moest registreren hoevaak de functie naar zichzelf verwezen had.. dit kun je zien als een niveau en dat was nodig want voor elk niveau van het menu wil ik een andere knop attachen.

ik heb nu alleen alweer een probleem met depths.. maar daar zal ik wel n nieuwe post voor openen..