(category) LIST of posts

Tint

Hvis farvning foretages i en class:

//A
import fl.motion.Color;
import flash.geom.ColorTransform;
//D
function tintColor(mc:MovieClip, colorNum:Number, alphaSet:Number) {
   var cTint:Color = new Color();
   cTint.setTint(colorNum, alphaSet);
   mc.transform.colorTransform = cTint;
}
//C/D
// Kald funktionen med værdier for dens 3 parametre: 
// pågældende movieclip, den ønskede farve, mægde af alpha
tintColor(mc2, 0xFF00FF, .5);

Se her for variationer

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;
	}
}

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”.
Forbered følgende:
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):void {
	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):void {
	gotoAndStop("scene1");
}

Sound object

Load lyden

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

Channel Control

Play og stop

var channel1:SoundChannel;
channel1 = my_sound.play(0,10); //fra start, 10 gange
channel1.stop(); 
// eller
my_sound.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