(category) LIST of posts

Load presentation

Tilgængelige variabler defineret øverst.
I en class, skal de stå i class definitionen, før constructer’en (hoved-functionen).

var film1:URLRequest = new URLRequest("undermappenavn/anim_playback.swf");
var film2:URLRequest = new URLRequest("undermappenavn/bat_ball_2a.swf");
var film3:URLRequest = new URLRequest("undermappenavn/fruit_extra_new_b.swf");

I en class, vil denne typisk stå i constructor’en:

var ldr:Loader = new Loader();

I nedenstående script loades og vises hver film i hver sin knap-funktion:

film1_but.addEventListener(MouseEvent.MOUSE_DOWN,film1_Handler);
function film1_Handler(e:MouseEvent):void {
    SoundMixer.stopAll();
    ldr.load(film1);
    box_mc.addChild(ldr);
    stage.frameRate=12;
}
film2_but.addEventListener(MouseEvent.MOUSE_DOWN,film2_Handler);
function film2_Handler(e:MouseEvent):void {
    SoundMixer.stopAll();
    ldr.load(film2);
    box_mc.addChild(ldr);
    stage.frameRate=32;
}
film3_but.addEventListener(MouseEvent.MOUSE_DOWN,film3_Handler);
function film3_Handler(e:MouseEvent):void {
    SoundMixer.stopAll();
    ldr.load(film3);
    box_mc.addChild(ldr);
    stage.frameRate=32;
}

Nedenstående knap-funktioner tømmer loaderen, ændrer boksens egenskaber, og til sidst ‘taler’ direkte til den loadede swf’s egen tidslinie :

unload_but.addEventListener(MouseEvent.MOUSE_DOWN,unload_Handler);
function unload_Handler(e:MouseEvent):void {
    SoundMixer.stopAll();
    ldr.unload();
    stage.frameRate=12;
}
distort_but.addEventListener(MouseEvent.MOUSE_DOWN,distort_Handler);
function distort_Handler(e:MouseEvent):void {
    box_mc.scaleX = box_mc.scaleY = .6;
    box_mc.rotation=9;
}
normal_but.addEventListener(MouseEvent.MOUSE_DOWN,normal_Handler);
function normal_Handler(e:MouseEvent):void {
    box_mc.scaleX = box_mc.scaleY = .6;
    box_mc.x = 180;
    box_mc.y = 64;
    box_mc.rotation=0;
}
cheat_but.addEventListener(MouseEvent.MOUSE_DOWN,cheat_Handler);
function cheat_Handler(e:MouseEvent):void {
    MovieClip(ldr.content).gotoAndStop("win");
/*
tilsvarende, kaldt fra den loadede swf's tidslinie, ville være:
//////////
MovieClip(parent.parent).play();
/////////
*/
}

mcStatus mekanik

mc er movieclippet med den sektionerede timeline og relevante labels. Dens labels har her samme navne som de mcStatus værdier den skal reagere på! De behøver ikke at være de samme, men det er smart.
mcStatus er en variabel, der får værdi af tilstande, som indgår i en logisk rækkefølge. Hvert trin betinger det næste (erstat navne med dem du arbejder med).

Start med at få overblik over de forskellige mcStatus værdier

/*mcStatus værdier: sleep, awake, dressup */

Og definer så en startværdi for mcStatus

var mcStatus:String = "sleep";

Kombinationer

Andre objekter ændrer mcStatus:

alarm_mc.buttonMode = true;
alarm_mc.addEventListener(MouseEvent.CLICK, alarm_HANDLER);
function alarm_HANDLER (e:MouseEvent):void {
	if (mcStatus == "sleep") {
		mcStatus = "awake";
	}
}
dress_mc.buttonMode = true;
dress_mc.addEventListener(MouseEvent.CLICK, dress_HANDLER);
function dress_HANDLER (e:MouseEvent):void {
	if (mcStatus == "awake") {
		mcStatus = "dressup";
	}
}

mc aktiveres ved direkte klik (hvis den ikke har været der):

mc.buttonMode = true;
mc.addEventListener(MouseEvent.CLICK, mc_HANDLER);
function mc_HANDLER (e:MouseEvent):void {
if (mc.currentLabel!= mcStatus){
	mc.gotoAndPlay(mcStatus);
	}

Andre objekter ændrer mcStatus og aktiverer mc:

dress_mc.buttonMode = true;
dress_mc.addEventListener(MouseEvent.CLICK, dress_HANDLER);
function dress_HANDLER (e:MouseEvent):void {
	if (mcStatus == "awake") {
		mcStatus = "dressup";
		mc.gotoAndPlay (mcStatus);
	}
}