externe variabelen declareren in actionscript 3
blokje door vinTage op 29-09-2007
Over welke variabelen heb ik het?

Je kan in het adres/pad van de swf externe variabelen of waardes mee geven.
Dit gebeurd veelal via flashVars of in de url.



Via de url

In je webpagina gebruik je een code om je swf te tonen.
Het pad naar de swf wordt gebruikt in de embed en object tags

voorbeeld
code

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
  width="550"
  height="400"
  id="voorbeeld"
  align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="allowFullScreen" value="false" />
    <param name="movie" value="voorbeeld.swf?eenVariable=hallo&tweedeVariable=Jan" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />    
       <embed src="voorbeeld.swf?eenVariable=hallo&tweedeVariable=Jan" 
         quality="high"
         bgcolor="#ffffff"
         width="550"
         height="400"
         name="voorbeeld"
         align="middle"
         allowScriptAccess="sameDomain"
         allowFullScreen="false"
         type="application/x-shockwave-flash"
         pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Je ziet in de paden naar de swf achter de extentie een vraagteken staan, met daarachter de variabele(n).



Via flashVars

Via flashVars gaat dit bijna op dezelfde manier, zie het voorbeeld hieronder:
code

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
  width="550"
  height="400"
  id="voorbeeld"
  align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="allowFullScreen" value="false" />
    <param name="movie" value="voorbeeld.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <param name=FlashVars value="eenVariable=Hallo&tweedeVariable=jan" />    
       <embed src="voorbeeld.swf"
         quality="high"
         bgcolor="#ffffff"
         width="550"
         height="400"
         name="voorbeeld"
         align="middle"
         allowScriptAccess="sameDomain"
         allowFullScreen="false"
         type="application/x-shockwave-flash"
         pluginspage="http://www.macromedia.com/go/getflashplayer"
         FlashVars value="eenVariable=Hallo&tweedeVariable=jan" />
</object>



sidenote

Als je de html gebruikt die flash cs3 zelf output, dan moet je in het javascript gedeelte ook de flashvars meegeven
code

AC_FL_RunContent(
    <!-- hoop code hier-->
    'FlashVars', 'eenVariable=hallo&tweedeVariable=Jan'
); //end AC code


Ophalen in flash

Nu we weten hoe we deze variablen kunnen geven aan flash, moeten we ze nog hoe ze te gebruiken in flash.
In actionscript 2 ging dit heel simpel door gewoon de variablenaam te tracen:
actionscript code

//as2
trace("eenVariable is "+eenVariable); //output hallo
trace("tweedeVariable is "+tweedeVariable); //output Jan
 


In actionscript 3 gaat het als volgt:
actionscript code

//as3
trace("eenVariable is "+root.loaderInfo.parameters.eenVariable); //output hallo
trace("tweedeVariable is "+root.loaderInfo.parameters.tweedeVariable); //output Jan
 




Als er geen variable meegegeven word, een "default" waarde geven

Als er op een of andere manier geen variable in de url of flashVar word meegegeven, dan kan je een standaard waarde geven op onderstaande manier:
actionscript code

var eenVariable:String;
root.loaderInfo.parameters.eenVariable == undefined ? eenVariable = "goedendag" : eenVariable = root.loaderInfo.parameters.eenVariable;

trace(eenVariable);
//output "hallo" als eenVariable wordt meegegeven via flashVasr of in de url
//als deze variable niet werd meegegeven, dan is de output "goedendag"
 



extra

Zo, nu we weten hoe we met url variabelen kunnen werken, wil ik jullie natuurlijk niet onthouden het meest geweldige hulpmiddel op flash en browser gebied aller tijden.

Tijdens de development fase ben je natuurlijk wel benieuwd naar welke variabelen er wel of niet gedeclareerd worden.
Je kan natuurlijk een tydelijk tekstveld maken en daarin je "traces" plaatsen, maar met de firefox flash tracer plugin kan je je traces gewoon zien in je browser!

Een must have dus!

Tot zover deze mini "tutorial".


Share |



Stem op deze tutorial


Reacties



Je bent niet ingelogged, je kan geen commentaar geven, of commentaren lezen over deze tutorial.