Het geval is als volgt. Ik heb een Flash-bestand met meerdere mc's boven op elkaar: de achtergrond, nog een achtergrond en daarbovenop staan allemaal rondjes, een stuk of 25. Die rondjes kun je inkleuren door erop te klikken.
Nu heb de code om alle rondjes in te kleuren:
Deze vorm is al een stuk efficiënter dan mijn vorige versie, die zo'n 1500 regels code op zou leveren.
Deze vorm zorgt voor zo'n 182 regels code als ik ze 25x koppel aan een rondje (rondje1_mc, rondje2_mc etc).
Maar het moet toch efficiënter kunnen, lijkt me. Nu bedacht ik dat ik een temporary_mc aan zou kunnen maken, waarin in ik plaats op welke rondje_mc er geklikt is via een functie. Ik heb al lopen bladeren in de Actionscript Bible, gezocht op Flashfocus en Google, maar ik ben nog niet tegengekomen hoe dat moet.
Hij moet dus teruggeven op welke mc er wordt geklikt, en niets als er tussen de rondjes in op de achtergrond_mc wordt geklikt (al kan ik dat ook afvangen en de functie laten stoppen als er op achtergrond_mc is geklikt, neem ik aan).
Nu heb de code om alle rondjes in te kleuren:
code:
1
2
3
4
5
6
7
8
| // het inkleuren van de rondjes
rondje_mc.onMouseUp = function():Void {
// nieuwe colortransform aanmaken die gekoppeld wordt aan de movieclip
var ctCircleColor:ColorTransform = new ColorTransform();
kleurBepaling();
ctCircleColor.rgb = nKleur;
if(this.hitTest(this._root._xmouse, this._root._ymouse, true)){rondje_mc.transform.colorTransform = ctCircleColor;}
} |
Deze vorm is al een stuk efficiënter dan mijn vorige versie, die zo'n 1500 regels code op zou leveren.
Maar het moet toch efficiënter kunnen, lijkt me. Nu bedacht ik dat ik een temporary_mc aan zou kunnen maken, waarin in ik plaats op welke rondje_mc er geklikt is via een functie. Ik heb al lopen bladeren in de Actionscript Bible, gezocht op Flashfocus en Google, maar ik ben nog niet tegengekomen hoe dat moet.
Hij moet dus teruggeven op welke mc er wordt geklikt, en niets als er tussen de rondjes in op de achtergrond_mc wordt geklikt (al kan ik dat ook afvangen en de functie laten stoppen als er op achtergrond_mc is geklikt, neem ik aan).
Iedereen kan gelijk hebben, allemaal tegelijk. Dat heb je met quantum.