Dit is de eerste post in een reeks van tips over het werken met Flash (AS2).
Als je met V2 components in Flash werkt, komt deze zeker een keer van pas: bij het gebruik van V2 Components zoals bijvoorbeeld een Combobox, kan het gebeuren dat je buttons niet meer goed werken. Over het algemeen manifesteert zich dit door het maar 1 x kunnen klikken op een button. Daarna moet je eerst de muis weer bewegen, voordat je nog een keer op de button kunt klikken. Zeker met navigatie buttons, waar je graag op wilt kunnen klikklikklikklikklikken is dat niet tof.
De oorzaak ligt in het feit dat sommige componenten niet goed om gaan met het releasen van de focus. De fix is tamelijk simpel en storend tegelijk:
In de onPress handler van zo een button, moet je het volgende opnemen:
Selection.setFocus(this);
als je daarbij ook nog wilt voorkomen dat er een focus rectangle om de button verschijnt, dien je het volgende te gebruiken:
this._focusrect = false;
Het is ook mogelijk om dit voor alle buttons in een keer te doen:
Button.prototype.onPress = function () {
this._focusrect = false;
Selection.setFocus(this);
}
Dit zal echter in weinig gevallen aan te raden zijn aangezien je dan nergens meer de onPress kunt gebruiken. In sommige gevallen zul je wellicht alleen maar onRelease gebruiken en kun je bovenstaande oplossing toepassen. Gezien het feit dat dit linksom danwel rechtsom niet tot zeer onderhoudbare code leidt, moet je een afweging maken, bijvoorbeeld op basis van hoe groot het project is waar je dit in toepast.
Tags: flash
Reageer: