ButtonHelper class
class ButtonHelper {
MovieClip target;
var upLabel;
var overLabel;
var downLabel;
bool useHandCursor = true;
bool enabled = true;
ButtonHelper(this.target, this.upLabel, this.overLabel, this.downLabel, [DisplayObject hitArea])
: super() {
target.useHandCursor = true;
target.stop();
target.addEventListener(MouseEvent.MOUSE_OVER, _onMouseEvent);
target.addEventListener(MouseEvent.MOUSE_OUT, _onMouseEvent);
target.addEventListener(MouseEvent.MOUSE_DOWN, _onMouseEvent);
target.addEventListener(MouseEvent.MOUSE_UP, _onMouseEvent);
if (hitArea != null) {
if (hitArea is MovieClip) {
var mc = hitArea;
mc.actionsEnabled = false;
mc.stop();
mc.advance(0); // process frame out of stage
}
if (hitArea._parent == null)
hitArea._parent = target; // consider the hitArea as a child
target.hitArea = hitArea;
}
}
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
void _onMouseEvent(MouseEvent mouseEvent) {
if (mouseEvent.type == MouseEvent.MOUSE_OUT) {
target.gotoAndStop(upLabel);
} else {
target.gotoAndStop(mouseEvent.buttonDown ? downLabel : overLabel);
}
}
}
Constructors
new ButtonHelper(MovieClip target, upLabel, overLabel, downLabel, [DisplayObject hitArea]) #
Creates a new Object instance.
Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.
docs inherited from Object
ButtonHelper(this.target, this.upLabel, this.overLabel, this.downLabel, [DisplayObject hitArea])
: super() {
target.useHandCursor = true;
target.stop();
target.addEventListener(MouseEvent.MOUSE_OVER, _onMouseEvent);
target.addEventListener(MouseEvent.MOUSE_OUT, _onMouseEvent);
target.addEventListener(MouseEvent.MOUSE_DOWN, _onMouseEvent);
target.addEventListener(MouseEvent.MOUSE_UP, _onMouseEvent);
if (hitArea != null) {
if (hitArea is MovieClip) {
var mc = hitArea;
mc.actionsEnabled = false;
mc.stop();
mc.advance(0); // process frame out of stage
}
if (hitArea._parent == null)
hitArea._parent = target; // consider the hitArea as a child
target.hitArea = hitArea;
}
}