Flash: passare le variabili all'swf

Di: TheSte | 26/09/2020 18:38:26
Buonasera a tutti,
Ho un problema riguardo il passaggio di variabili dalla pagina HTML all'oggetto SWF...
Ho letto le istruzioni da scrivere e cosi ho fatto, ma nel momento in cui controllo il valore della variabile essa è identificata come Undefined...
Considerate il fatto che il progetto Flash è stato scaricato da internet precisamente qua:
http://www.flepstudio.org/forum/utilit-di-flepstudio/4799-imagesviewer.html
Vi posto le istruzioni che ho inserito:
nel Contenitore HTML:
_________________________________________________________
<script type="text/javascript">
swfobject.registerObject("myFlashContent", "9.0.0", "expressInstall.swf");
</script>
</head>
<body bgcolor="#333333">
<div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="myFlashContent" name="Foto" align="middle">
<param name="movie" value="Main.swf" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="menu" value="false" />
<param name="quality" value="best" />
<param name="scale" value="noscale" />
<param name="salign" value="t" />
<param name="wmode" value="window" />
<param name="bgcolor" value="#333333" />
<param name="devicefont" value="false" />
<param name="allowfullscreen" value="false" />
<param name="allowscriptaccess" value="sameDomain" />
<script>document.write('<param name="flashvars" value="dir='+cartella+'"/>')</script>
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="Main.swf" width="100%" height="100%" align="middle">
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="menu" value="false" />
<param name="quality" value="best" />
<param name="scale" value="noscale" />
<param name="salign" value="t" />
<param name="wmode" value="window" />
<param name="bgcolor" value="#333333" />
<param name="devicefont" value="false" />
<param name="allowfullscreen" value="false" />
<param name="allowscriptaccess" value="sameDomain" />
<script>document.write('<param name="flashvars" value="dir='+cartella+'"/>')</script>
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
___________________________________________________________
Mentre richiamo la variabile nell AC3 con:
var Cartella:String='vuota';
if (this.loaderInfo.parameters.dir !== undefined)
{
Cartella = this.loaderInfo.parameters.dir;
}
var label:String="Var: " + Cartella; //"FlepStudio"
var cm:ContextMenu=new ContextMenu();
var item:ContextMenuItem=new ContextMenuItem(label);
cm.hideBuiltInItems();
cm.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1);
this.contextMenu=cm;
}
_______________________________________
L ho inserita in modo da vedere la variabile facendo click destro... Spero mi possiate essere d'aiuto

Risposte



Quando Flash segnala undefine significa che non trova il percorso.
l'invio delle variabili tra la pagina html e il filmato swf avviene tramite FlashVars questa parola deve essere caricata nell'embed e deve contenere le variabili che si trovano nello stage
esempio:
<param name="flashvars" value="var1=here&var2=are&var3=my&var4=flashvars" />
<embed src="embed-4var.swf" flashvars="var1=here&var2=are&var3=my&var4=flashvars" type="application/x-shockwave-flash" width="550" height="400></embed>
in queste 2 righe vi è il necessario per il trasferimento delle varibili dalla pagina html al filmato flash
flashvars="var1=here&var2=are&var3=my&var4=flashvars"
Di conseguenza avremo nello stage 4 caselle dinamiche con gli stessi nomi. Ma attenzione le caselle dinamiche avranno lo stesso nome var e NON il nome istanza.
Il codice per intero è il seguente:
<object width="550" height="400" title="sample">
<param name="movie" value="embed-4var.swf" />
<param name="flashvars" value="var1=here&var2=are&var3=my&var4=flashvars" />
<embed src="embed-4var.swf" flashvars="var1=here&var2=are&var3=my&var4=flashvars" type="application/x-shockwave-flash" width="550" height="400></embed>
</object>
nello stage 4 caselle dinamiche con nome var:
var1
var2
var3
var4

Di: max_400 | 26/09/2020 18:38:26