PDA

View Full Version : NO button selected on Button 'stays' Down


tvvat
11-05-2008, 02:39 AM
OK, I got this great snippet of code from GTAL. Basically it keeps the last clicked button in the "down" state.

My problem is:
I don't want a button selected on entering the movie...


b1_mc.addEventListener(MouseEvent.MOUSE_OVER, onButtonOver);
b1_mc.addEventListener(MouseEvent.MOUSE_OUT, onButtonOut);
b1_mc.addEventListener(MouseEvent.CLICK, onButtonClicked);

b1_mc.buttonMode = true;
b1_mc.mouseChildren = false;

b2_mc.addEventListener(MouseEvent.MOUSE_OVER, onButtonOver);
b2_mc.addEventListener(MouseEvent.MOUSE_OUT, onButtonOut);
b2_mc.addEventListener(MouseEvent.CLICK, onButtonClicked);

b2_mc.buttonMode = true;
b2_mc.mouseChildren = false;

b3_mc.addEventListener(MouseEvent.MOUSE_OVER, onButtonOver);
b3_mc.addEventListener(MouseEvent.MOUSE_OUT, onButtonOut);
b3_mc.addEventListener(MouseEvent.CLICK, onButtonClicked);

b3_mc.buttonMode = true;
b3_mc.mouseChildren = false;

b4_mc.addEventListener(MouseEvent.MOUSE_OVER, onButtonOver);
b4_mc.addEventListener(MouseEvent.MOUSE_OUT, onButtonOut);
b4_mc.addEventListener(MouseEvent.CLICK, onButtonClicked);

b4_mc.buttonMode = true;
b4_mc.mouseChildren = false;

var lastClickedBtn:MovieClip = b3_mc;
lastClickedBtn.gotoAndStop(20);


function onButtonOver(event:MouseEvent):void {
var btn:MovieClip = event.target as MovieClip;
if (btn == lastClickedBtn) {
btn.gotoAndStop(20);
} else {
btn.gotoAndPlay(2);
}
}

function onButtonOut(event:MouseEvent):void {
var btn:MovieClip = event.target as MovieClip;
if (btn != lastClickedBtn) {
btn.gotoAndPlay(7);
}
}

function onButtonClicked(event:MouseEvent):void {
lastClickedBtn.gotoAndPlay(7);
var btn:MovieClip = event.target as MovieClip;
lastClickedBtn = btn;
btn.gotoAndStop(20);
}


I've tried changing:

var lastClickedBtn:MovieClip = b3_mc;

...and some other lines with absolutely no luck, error this, error that... blah blah. I think this is the line that needs help... Really not sure.

Thanks in advance.

tvvat
11-05-2008, 05:14 PM
I did it!!

so stupid too (I knew it was that line!)

var lastClickedBtn:MovieClip = b3_mc;

needed to be

var lastClickedBtn:MovieClip = new MovieClip;