This is a problem which is kinda difficult to describe in short sentence. But this is a problem which I seem to be running into for a couple of weeks now.
Lets descibe the problem and I will illustrate with a banner (or a simple flv-player) example:
The banner (rectangle) is contains a short animation (20 kB) and when you rollover the banner a video (flv) starts to load and play. Onrollout the video will stop playing and hide. But the banner has also smaller pause / play and sound-off buttons on top of the bigger button which start / stop / etc the video.
So the big button starts playing / loading the video onrollover and onrollout stops playing / hides the video. The smaller buttons are stop / pause / play / sound-on / sound-off actions.
Not so difficult, but the tricky part is in the rollout of the big button: as soon as you rollover the smal buttons it means that the video stops playing and hides (rollout of the big button)….
With a little help of Nils we he cracked this nutt:
View the working example hereupdate #1: onMouseMove has to change to this.onMouseMove
this.big_btn.onRollOver = function() {
this.onMouseMove = function () {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
// rollover state and action
this._alpha = 50;
_root.MyCustomRoll("rollover: big_btn");
} else {
// rollout state and action
this._alpha = 90;
_root.MyCustomRoll("rollout: big_btn");
delete this.onMouseMove;
// trace("no hit");
}
};
};
//
this.button1_btn.onRollOver =
this.button2_btn.onRollOver = function () {
this._alpha = 50;
_root.MyCustomRollSmall(this._name + " onRollOver");
};
this.button1_btn.onRollOut =
this.button2_btn.onRollOut = function () {
this._alpha = 90;
_root.MyCustomRollSmall(this._name + " onRollOut");
};
// debug / trace functions
function MyCustomRoll(txt:String) {
this.debug_txt.text = txt;
}
function MyCustomRollSmall(txt:String) {
this.debug2_txt.text = txt;
}