(category) LIST of posts

On Off knap

var igang:Boolean = false;
 
but.addEventListener(MouseEvent.CLICK,ONOFF);
function ONOFF(e:MouseEvent) {
	if (igang==false) { // if (!igang)
		but.gotoAndStop("on");
		// Noget sættes i gang
		igang=true;
	} else {
		but.gotoAndStop("off");
		// Noget stoppes
		igang=false;
	}
}

Kunne også se således ud:

var igang:Boolean = false;
 
but.addEventListener(MouseEvent.CLICK,ONOFF);
function ONOFF(e:MouseEvent) {
	if (!igang) { 
		but.gotoAndStop("on");
		// Noget sættes i gang
	} else {
		but.gotoAndStop("off");
		// Noget stoppes
	}
	// igang sættes til at blive det omvendte af det det er nu..
	igang=!igang;
}

Preloader ekstern

Den nemmeste relaterede tutorial – er nok denneher:
monkeyflash.com/flash/creating_a_custom_preloader

var ldr:Loader = new Loader();
 
ldr.load(new URLRequest("content.swf"));
 
ldr.contentLoaderInfo.addEventListener(Event.OPEN, loadOpen);
ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
 
function loadOpen(e:Event):void {
    trace("Loading begun");
} 
 
function loadProgress(e:ProgressEvent):void {
    var percentLoaded:Number = e.bytesLoaded/e.bytesTotal;
    percentLoaded = Math.round(percentLoaded * 100);
    trace("Loading: "+percentLoaded+"%");
}
 
function loadComplete(e:Event):void {
    addChild(ldr);
    trace("Complete");
}

Preloader intern

Hvor preloader af eksterne filer håndteres med “contentLoaderInfo”, ligger den interne info om enhver flashfil i “loaderInfo”.

Forberedelse

Dynamiak tekstfelt: pct_txt
Animeret movieclip på 100 frames: frames100_mc

flashscope.com: the-most-creative-flash-preloaders-of-all-times

// placeres på en keyframe - før alle andre frames ..
// Husk at trykke CTRL+ENTER 2 gange for at teste preloader.
stop();
loaderInfo.addEventListener(ProgressEvent.PROGRESS, PHANDLER);
function PHANDLER(e:ProgressEvent) {
	var pctLoaded:int = Math.round(e.bytesLoaded/e.bytesTotal * 100);
	pct_txt.text=pctLoaded.toString()+" %"; 
	frames100_mc.gotoAndStop(pctLoaded); 
}
loaderInfo.addEventListener(Event.COMPLETE, CHANDLER);
function CHANDLER(e:Event) {
        // Næste linie er nyttig hvis filmen selv bliver loadet ind i en anden 
        loaderInfo.removeEventListener(ProgressEvent.PROGRESS, PHANDLER);
	gotoAndStop("der-hvor-filmen-starter");
}

Sound object

Load lyden

var my_file:URLRequest=new URLRequest("lyd.mp3");
var my_sound:Sound=new Sound();
my_sound.load(my_file);

Når et Sound-objekt først har loadet en lyd, kan det ikke genbruges. Nyt Sound-objekt for ny lyd.

Channel Control

Play og stop

var channel1:SoundChannel;
channel1 = my_sound.play(0,10); //fra start, 10 gange
channel1.stop();

Position til pause

var pos:int= channel1.position;
channel1=my_sound.play(pos);

Stop all sounds

SoundMixer.stopAll();

Link lyden

Forudsætter en importeret lyd i library med linkage-name: ding.
Lyd i library, kan du linke med højreklik > Properties > Export for ActionScript > og classNavn, fx. ‘ding’.
(Flash vil som regel undre sig over, at der ikke ligger en class med det navn, og hvis ikke du med vilje har lavet en ekstern actionscript-fil med samme navn, skal du bare svare ok til dens forslag.)
Derefter kan den kaldes frem således:

//A
    import flash.media.*;
//B
    var lyd:Sound=new ding();
    var sndc:SoundChannel;
//C//D
    //play og stop
    sndc = lyd.play();
    sndc.stop();
//D
    //stop alle lyde
    SoundMixer.stopAll();

Timer

// timer: 3 gange 1 sekund – og så slut.

var myTimer:Timer = new Timer(1000, 3);//delay, repatCount
myTimer.start(); 
 
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
function timerHandler(e:TimerEvent):void {
		trace("Tick "+myTimer.currentCount);
}
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler);
function completeHandler(e:TimerEvent):void {
		trace("Ding completed at "+myTimer.repeatCount);
}

// En knap sætter tim i gang – og ændrer dens værdier

someButton.addEventListener(MouseEvent.MOUSE_DOWN, TimerJet);
function TimerJet(e:MouseEvent) {
	var tim = new Timer (1000, 3);
	tim.start();
	tim.addEventListener(TimerEvent.TIMER, onTimer);
	function onTimer(e:TimerEvent):void {
		trace("Tick "+tim.currentCount);
	}
	tim.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
	function onTimerComplete(e:TimerEvent):void {
		trace("Ding completed at "+tim.repeatCount); 
 
		tim.reset();
		tim.delay = 500;
		tim.repeatCount = 5;
		tim.start();
	}
}

Timer – forklaret

Loader, load!

der kan loades eksterne swf, jpg, gif, png mm.

Grundkode

var loader:Loader = new Loader();
var request:URLRequest = new  URLRequest ("en.swf");
loader.load(request);
addChild(loader);

Supplerende funktionalitet:

load en ny fil ind og erstat den forrige loadede fil

loader.load(new  URLRequest ("enAnden.swf"));
addChild(loader);

load indholdet ind i en movieclip

box_mc.addChild(loader);

unload loaderen

loader.unload();

Med PROGRESS preloader og COMPLETE:
Setup: pct_txt (dynamisk tekstfelt), frames100_mc (animeret movieClip på 100 frames).

// Husk at trykke CTRL+ENTER 2 gange for at teste preloader.
ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, pHANDLER);
function pHANDLER(e:ProgressEvent):void {
	var pctLoaded:int = Math.round(e.bytesLoaded/e.bytesTotal * 100);
	pct_txt.text=pctLoaded.toString()+" %"; 
	frames100_mc.gotoAndStop(pctLoaded); 
}
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, cHANDLER);
function cHANDLER(e:Event):void {
	e.target.content.scaleX = e.target.content.scaleY =.2;
}