KJisLost
April 1st, 2009, 03:12 PM
My head hurts. Hopefully someone can help. I'm a relative newbie, and I'm using ActionScript 3/CS4.
I've created a flash file that will load a series of external swfs when a button is clicked. I've managed to get down-state buttons to work and load external swf files, but once I add the drop down menu and try and get the child menus to point to another external swf (and not the one for the main button it sits under), it won't work. I'm not getting any output errors. The external swf files do not have any actionscript at this time, and are just dummy files.
Here's the actionscript code on frame 1/scene 1:
// Container
var imageLoader:Loader = new Loader();
// Url Requests
var imageRequest:URLRequest = new URLRequest("home.swf");
var imageRequest2:URLRequest = new URLRequest("whatis.swf");
var imageRequest3:URLRequest = new URLRequest("survive.swf");
var imageRequest4:URLRequest = new URLRequest("prepare.swf");
// Intial Page Loaded
imageLoader.load(imageRequest)
addChild(imageLoader)
imageLoader.x = 17.2;
imageLoader.y = 120;
// Button Functions
function goHome (e:MouseEvent):void{
imageLoader.load(imageRequest)
addChild(imageLoader)
}
home_btn.addEventListener(MouseEvent.CLICK, goHome);
function goWhat (e:MouseEvent):void{
imageLoader.load(imageRequest2)
addChild(imageLoader)
}
whatis_btn.addEventListener(MouseEvent.CLICK, goWhat);
function goSurvive (e:MouseEvent):void{
imageLoader.load(imageRequest3)
addChild(imageLoader)
}
survive_btn.addEventListener(MouseEvent.CLICK, goSurvive);
//button effects for mouse down effect
stage.frameRate = 30;
var buttonsArray:Array = [whatis_btn, home_btn, survive_btn];
function setButtons():void {
for (var i:int=0; i<buttonsArray.length; i++) {
buttonsArray[i].id = i;
buttonsArray[i].buttonMode = true;
buttonsArray[i].mouseChildren = false;
buttonsArray[i].mouseEnabled = true;
buttonsArray[i].addEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].addEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].addEventListener(MouseEvent.CLICK,doClick);
}
}
function playOver(event:MouseEvent):void {
event.currentTarget.gotoAndPlay("over");
}
function playOut(event:MouseEvent):void {
event.currentTarget.gotoAndPlay("out");
}
function doClick(event:MouseEvent):void{
var currentBtn:int = event.currentTarget.id;
setSelectedBtn(currentBtn);
}
function setSelectedBtn(id:int):void{
for (var i:int=0; i< buttonsArray.length; i++) {
if (id == i) {
buttonsArray[i].gotoAndStop("down");
buttonsArray[i].buttonMode = false;
buttonsArray[i].mouseEnabled = false;
buttonsArray[i].removeEventListener(MouseEvent.ROLL_OVER,playOver );
buttonsArray[i].removeEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].removeEventListener(MouseEvent.CLICK,doClick);
} else {
if(buttonsArray[i].currentLabel =="down"){
buttonsArray[i].gotoAndPlay("out");
}
buttonsArray[i].buttonMode = true;
buttonsArray[i].mouseEnabled = true;
buttonsArray[i].addEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].addEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].addEventListener(MouseEvent.CLICK,doClick);
}
}
}
setButtons();
Here's the script in my drop down menu buttons:
stop();
// Container
var imageLoader2:Loader = new Loader();
// Url Requests
var imageRequest5:URLRequest = new URLRequest("prepare.swf");
function goPrepare (e:MouseEvent):void{
imageLoader2.load(imageRequest5)
addChild(imageLoader2)
}
prepare_btn.addEventListener(MouseEvent.CLICK, goPrepare);
I've created a flash file that will load a series of external swfs when a button is clicked. I've managed to get down-state buttons to work and load external swf files, but once I add the drop down menu and try and get the child menus to point to another external swf (and not the one for the main button it sits under), it won't work. I'm not getting any output errors. The external swf files do not have any actionscript at this time, and are just dummy files.
Here's the actionscript code on frame 1/scene 1:
// Container
var imageLoader:Loader = new Loader();
// Url Requests
var imageRequest:URLRequest = new URLRequest("home.swf");
var imageRequest2:URLRequest = new URLRequest("whatis.swf");
var imageRequest3:URLRequest = new URLRequest("survive.swf");
var imageRequest4:URLRequest = new URLRequest("prepare.swf");
// Intial Page Loaded
imageLoader.load(imageRequest)
addChild(imageLoader)
imageLoader.x = 17.2;
imageLoader.y = 120;
// Button Functions
function goHome (e:MouseEvent):void{
imageLoader.load(imageRequest)
addChild(imageLoader)
}
home_btn.addEventListener(MouseEvent.CLICK, goHome);
function goWhat (e:MouseEvent):void{
imageLoader.load(imageRequest2)
addChild(imageLoader)
}
whatis_btn.addEventListener(MouseEvent.CLICK, goWhat);
function goSurvive (e:MouseEvent):void{
imageLoader.load(imageRequest3)
addChild(imageLoader)
}
survive_btn.addEventListener(MouseEvent.CLICK, goSurvive);
//button effects for mouse down effect
stage.frameRate = 30;
var buttonsArray:Array = [whatis_btn, home_btn, survive_btn];
function setButtons():void {
for (var i:int=0; i<buttonsArray.length; i++) {
buttonsArray[i].id = i;
buttonsArray[i].buttonMode = true;
buttonsArray[i].mouseChildren = false;
buttonsArray[i].mouseEnabled = true;
buttonsArray[i].addEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].addEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].addEventListener(MouseEvent.CLICK,doClick);
}
}
function playOver(event:MouseEvent):void {
event.currentTarget.gotoAndPlay("over");
}
function playOut(event:MouseEvent):void {
event.currentTarget.gotoAndPlay("out");
}
function doClick(event:MouseEvent):void{
var currentBtn:int = event.currentTarget.id;
setSelectedBtn(currentBtn);
}
function setSelectedBtn(id:int):void{
for (var i:int=0; i< buttonsArray.length; i++) {
if (id == i) {
buttonsArray[i].gotoAndStop("down");
buttonsArray[i].buttonMode = false;
buttonsArray[i].mouseEnabled = false;
buttonsArray[i].removeEventListener(MouseEvent.ROLL_OVER,playOver );
buttonsArray[i].removeEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].removeEventListener(MouseEvent.CLICK,doClick);
} else {
if(buttonsArray[i].currentLabel =="down"){
buttonsArray[i].gotoAndPlay("out");
}
buttonsArray[i].buttonMode = true;
buttonsArray[i].mouseEnabled = true;
buttonsArray[i].addEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].addEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].addEventListener(MouseEvent.CLICK,doClick);
}
}
}
setButtons();
Here's the script in my drop down menu buttons:
stop();
// Container
var imageLoader2:Loader = new Loader();
// Url Requests
var imageRequest5:URLRequest = new URLRequest("prepare.swf");
function goPrepare (e:MouseEvent):void{
imageLoader2.load(imageRequest5)
addChild(imageLoader2)
}
prepare_btn.addEventListener(MouseEvent.CLICK, goPrepare);