Een autobus rijdt van het station weg met 4 passagiers. In de binnenstad komen er 5 passagiers bij. Om de hoek stappen er nog 2 mensen in, maar gaan er 3 mensen uit. Aan de rand van de stad stappen nog 4 mensen uit. 1 Persoon komt aangerend en kan nog net instappen... hoeveel keer is de bus nou gestopt?
Wie heeft zich niet een beetje belazerd gevoeld als klein kind, netjes alles uitgerekend en toch het antwoord niet weten? Nou, dat gevoel heb ik nu met Flash MX.
Ik ben bezig met de ontwikkeling van een Flash interface op basis van een producten-catalogus in XML. In het XML bestand staan ook alle hoofd- en submenu's van de website.

Als de gebruiker iets openklikt dan bouwt het script een submenu op door een loopje met duplicatieMovieClip() commando's te nemen:
Met de teller _var.last.zindex houd het script bij op welk level hij was gebleven.
In de array _var.menu[n]._any houdt het script bij welke movieclips voor het menu aangemaakt zijn. De gebruiker kan zo een submenu van een submenu openklikken, en de hele stapel openstaande menu's wordt vanuit een library beheerd en blijft op het stage netjes terug te vinden.
Als de gebruiker terugklikt naar een hoger menu-niveau, leest het script de array _var.menu[n]._any uit en ruimt van de lagergelegen menu's de movieclips weer op:
Nu wil ik natuurlijk de vrijgekomen z-index niveaus ook weer netjes kunnen hergebruiken. Ik probeer dat door de movieclips precies in tegengestelde volgorde te verwijderen, en voor elke verwijderde movieclip de z-index teller te verlagen:
Maar nu neemt de scripting een loopje met mij. De eerstvolgende nieuwe movieclips die worden aangemaakt met hergebruikte z-index waarden, drukken zo nu en dan plompverloren een aantal bestaande movieclips van de stage. Ook als ik bij het verwijderen telkens het laastste z-indexlevel opvraag en kopieer naar _var.last.zindex gaat het niet veel beter:
In de hele scripting wordt verder geen duplicateMovieClip() gebruikt zonder de _var.last.zindex mee te verhogen. Desondanks lijkt het alsof de volgorde van Movieclips op de z-index op de een of andere manier door elkaar wordt gehusseld. Ik kan natuurlijk de z-index domweg alleen maar verder laten tellen, maar als iemand dan lang door de website bladert, lopen de indexlevels ook steeds verder op. Ik vind dat in ieder geval niet netjes.
Wat denken jullie ervan?
Wie heeft zich niet een beetje belazerd gevoeld als klein kind, netjes alles uitgerekend en toch het antwoord niet weten? Nou, dat gevoel heb ik nu met Flash MX.
Ik ben bezig met de ontwikkeling van een Flash interface op basis van een producten-catalogus in XML. In het XML bestand staan ook alle hoofd- en submenu's van de website.

Als de gebruiker iets openklikt dan bouwt het script een submenu op door een loopje met duplicatieMovieClip() commando's te nemen:
JavaScript:
1
2
3
| that = "menu" + n + "item" + x; _way.menu_text.duplicateMovieClip(that, ++_var.last.zindex); _var.menu[n]._any[x] = that; |
Met de teller _var.last.zindex houd het script bij op welk level hij was gebleven.
In de array _var.menu[n]._any houdt het script bij welke movieclips voor het menu aangemaakt zijn. De gebruiker kan zo een submenu van een submenu openklikken, en de hele stapel openstaande menu's wordt vanuit een library beheerd en blijft op het stage netjes terug te vinden.
Als de gebruiker terugklikt naar een hoger menu-niveau, leest het script de array _var.menu[n]._any uit en ruimt van de lagergelegen menu's de movieclips weer op:
JavaScript:
1
2
| that = _var.menu[n]._any[x]; _way[that].removeMovieClip(); |
Nu wil ik natuurlijk de vrijgekomen z-index niveaus ook weer netjes kunnen hergebruiken. Ik probeer dat door de movieclips precies in tegengestelde volgorde te verwijderen, en voor elke verwijderde movieclip de z-index teller te verlagen:
JavaScript:
1
| _var.last.zindex--; |
Maar nu neemt de scripting een loopje met mij. De eerstvolgende nieuwe movieclips die worden aangemaakt met hergebruikte z-index waarden, drukken zo nu en dan plompverloren een aantal bestaande movieclips van de stage. Ook als ik bij het verwijderen telkens het laastste z-indexlevel opvraag en kopieer naar _var.last.zindex gaat het niet veel beter:
JavaScript:
1
2
3
| that = _var.menu[n]._any[x]; _var.last.zindex = _way[that].getDepth(); _way[that].removeMovieClip(); |
In de hele scripting wordt verder geen duplicateMovieClip() gebruikt zonder de _var.last.zindex mee te verhogen. Desondanks lijkt het alsof de volgorde van Movieclips op de z-index op de een of andere manier door elkaar wordt gehusseld. Ik kan natuurlijk de z-index domweg alleen maar verder laten tellen, maar als iemand dan lang door de website bladert, lopen de indexlevels ook steeds verder op. Ik vind dat in ieder geval niet netjes.
Wat denken jullie ervan?

