(page) REDIGERET 13 March 2011 • by admin

Params og andet

Transparent baggrund

Pr. Default er scenen i flash-filmen ikke transparent, når den sættes ind i html.
Al farvet eller hvid scene-baggrund KAN dog være transparent i html, så en fx. css-bagrund kan blive synlig. I selve koden for indsættelse af flash (i html-filen), tilføges parametret:

<param name="wmode" value="transparent">

demo: curlingthebrackets.com/flash/params/bg-trans.html

FullScreen

En kombination af følgende actionscript og html > object parameter:

stage.displayState=StageDisplayState.FULLSCREEN;
<param name="allowFullScreen" value="true">

Nedenfor er en funktion, der kan tilknyttes fx. en knap, og forårsager skiftevis fullscreen og normal visning.

Full Window med css

Din swf-fil kan fylde browserens vindue maksimalt og flydende med CSS.
Se demo:curlingthebrackets.com/flash/params/fullwindowCSS.html og se i kildekoden.
Width og Height sættes 100% på den div, swf-filen er sat ind i. Procenter på en div’s højde er relative i forhold til body, som også sættes til 100% – men som IE ikke forstår helt ligesådan, med mindre man også sætter html til også at være 100%!

html { 
	height:100%; /* container for body*/
	}
 body {
	margin:0;
	padding:0;
	height:100%; /* container forFlashMovie*/
	}
.FlashMovie {
	width: 100%;
	height:100%;
}

Med følgende parametre alene, kan der opnås et lignende resultat:

<param name="scale" value="exactfit" />
	<!-- eller -->
<param name="scale" value="noborder" />

Flydende stage uden skalering

Hvis flash-filmen skal følge vinduets kanter og samtidig beholde alt hvad der ligger på scenen i samme størrelse – og samme relative placering, kan det styres med actionscript.
Demo: curlingthebrackets.com/flash/params/fullstage.html

Flash filen består af 5 movieclips: baggrund: bg, figur i centrum: cc, og tallene i hjørnerne: h1, h2, h3, h4.
Den indsættes i html, så dens mål står til 100%.

stage.align=StageAlign.TOP_LEFT;
stage.scaleMode=StageScaleMode.NO_SCALE;
 
stage.addEventListener(Event.RESIZE, updateSize);
// Næste linie sørger for at funktionen bliver udført med det samme
// uden resize, da objekterne så bliver positioneret og skaleret fra start
stage.dispatchEvent(new Event(Event.RESIZE));
 
function updateSize(e:Event) {
 
	//baggrunds størrelse
	bg.width=stage.stageWidth;
	bg.height=stage.stageHeight;
 
	//placer indhold
	cc.x=stage.stageWidth / 2 - cc.width/2;
	cc.y=stage.stageHeight / 2  -cc.height/2;
	h1.x=0 + 20;
	h1.y=0;
	h2.x=stage.stageWidth - h2.width - 20;
	h2.y=0;
	h3.x=stage.stageWidth - h2.width - 20;
	h3.y=stage.stageHeight - h2.height;
	h4.x=0 +20;
	h4.y=stage.stageHeight - h2.height;
}