2011-01-12 17 views
5

Edytuj: Zdarzyło mi się zdać sobie sprawę, że głównym problemem jest to, że chcę pole tekstowe, które już istnieje w klipie filmowym lub na scenie, aby pobrać ciąg od flashvaru. Z jakiegoś powodu nie zrobi tego. Jak utworzyć wcześniejszą zmianę pola tekstowego tak, aby pasowała do tekstu flashvaru?Jak uzyskać dostęp do flashvars w AS3 i dodać je do istniejącego pola tekstowego?

HTML:

<div id="flashContent"> 
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="29px" id="egnewsTicker" align="middle"> 
       <param name="movie" value="egnewsTicker.swf" /> 
       <param name="flashvars" value="newslisttest=this is my test" /> 
       <param name="quality" value="high" /> 
       <param name="bgcolor" value="#ffffff" /> 
       <param name="play" value="true" /> 
       <param name="loop" value="true" /> 
       <param name="wmode" value="transparent" /> 
       <param name="scale" value="showall" /> 
       <param name="menu" value="false" /> 
       <param name="devicefont" value="false" /> 
       <param name="salign" value="lt" /> 
       <param name="allowScriptAccess" value="sameDomain" /> 
       <!--[if !IE]>--> 
       <object type="application/x-shockwave-flash" data="egnewsTicker.swf" width="100%" height="29px"> 
        <param name="movie" value="egnewsTicker.swf" /> 
        <param name="quality" value="high" /> 
        <param name="bgcolor" value="#ffffff" /> 
        <param name="play" value="true" /> 
        <param name="loop" value="true" /> 
        <param name="wmode" value="transparent" /> 
        <param name="scale" value="showall" /> 
        <param name="menu" value="false" /> 
        <param name="devicefont" value="false" /> 
        <param name="salign" value="lt" /> 
        <param name="allowScriptAccess" value="sameDomain" /> 
        <param name="flashvars" value="newslisttest=this is my test" /> 
       <!--<![endif]--> 
        <a href="http://www.adobe.com/go/getflash"> 
         <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> 

wiem, że to ma być prostym zadaniem, i znalazłem kilka artykułów internetowych, które podają przykłady, ale ja po prostu nie może działać, gdy próbuję zrobić mój własny kod. Wszystko co chcę zrobić, to przekazać ciąg flashvar i mieć dostęp do niego po nazwie w flashu przy użyciu AS3, ale nie mogę tego osiągnąć.

Staram:

var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters; 
newsItem.newsHeadline.text = String(paramObj[varName]); 

Ja również próbowałem:

newsItem.newsHeadline.text = this.loaderInfo.parameters.newslisttest; 

Nic staram działa, to zawsze tylko pozostaje puste. Jaka jest sztuczka uzyskiwania dostępu do flashvars w flashu as3? Po prostu nie jestem coraz to i nie mogę znaleźć dobre wyjaśnienie wszędzie ...

+0

i zanim ktoś mnie tu wyśle: http://blog.six4rty.ch/tutorials/flash-flashvars-in-as3/, już tam byłem. Działa, gdy robię to w pustym pliku dokładnie tak, jak on to ma, ale jeśli spróbuję włączyć go do mojego własnego pliku flash, to nigdy nie działa. kiedykolwiek .... – Ghost9

Odpowiedz

11

Spróbuj tego: stage.loaderInfo.parameters.yourparam lub stage.loaderInfo.parameters["yourparam"]

Możesz opublikować kod HTML, dzięki czemu możemy zobaczyć, w jaki sposób przekazać FlashVars błysnąć.

+0

Zdałem sobie sprawę, głównym problemem, z którym stoję, jest to, że chcę pole tekstowe, które już istnieje w klipie filmowym lub na scenie, aby pobrać ciąg od flashvar. Z jakiegoś powodu nie zrobi tego. Jak utworzyć wcześniejszą zmianę pola tekstowego tak, aby pasowała do tekstu flashvaru? – Ghost9

+0

Holy crap that stage.loaderInfo.parameters ["yourparam"] działa – Ghost9

+1

problem polegał na tym, że "próbowałem nie" i ", jak pokazały przykłady, ale" "zadziałało" ". Jeez mówi o wyrywaniu włosów. Dzięki Rob! – Ghost9

1

Jeśli nadal występuje ten problem, postępuj zgodnie z poniższymi liniami. Użyłem flash vars, działają dla mnie dobrze.

Mój skrypt html było:

<html> 
<body> 
<div id="flashContent"> 
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"FlashVars="uid=123&name=santhu" width="100%" height="100%" id="index" align="middle"> 
    <param name="movie" value="index.swf" /> 
    <param name=FlashVars value="uid=123&name=santhu"> 
    <!--[if !IE]>--> 
    <object type="application/x-shockwave-flash" data="index.swf" 
      FlashVars="uid=123&name=santhu" width="100%" height="100%"> 
    <param name="movie" value="index.swf" /> 
    <param name=FlashVars value="uid=123&name=santhu"> 
    <!--<![endif]--> 
    <!--[if !IE]>--> 
    </object> 
    <!--<![endif]--> 
</object> 
</div> 
</body> 
</html> 

i mój kod AS załadować vars jest

this.root.loaderInfo.addEventListener(Event.COMPLETE, SWFLoadComplete); 
private function SWFLoadComplete(e:Event) 
{ 
    obj=this.root.loaderInfo.parameters; 
    trace(obj.uid , obj.name); // outputs: 123 santhu 
} 
4

byłem zmarnowany cały dzień na tym, że ...

AS3 :

var uid:String; 
// your code 
this.loaderInfo.addEventListener(Event.COMPLETE, loaderComplete); 
// your code 
function loaderComplete(e:Event=null):void 
{ 
    var fv = stage.loaderInfo.parameters; 
    uid = fv['uid'] || "'uid' not found"; 
} 

HTML:

<object type='application/x-shockwave-flash' data='/flash/yourSWF.swf' width='320' height='240'> 
<param name='wmode' value='transparent' /> 
<param name='FlashVars' value='uid=yourData' /> 
<param name='movie' value='/flash/yourSWF.swf' /> 
</object> 
Powiązane problemy