2011-01-12 6 views
5

Редактирование: я понял, что основная проблема, с которой я столкнулся, заключается в том, что я хочу, чтобы текстовое поле уже было в мувиклипе или на сцене, чтобы взять строку из flashvar. По какой-то причине это не будет сделано. Как сделать изменение существующего текстового поля в соответствии с текстом flashvar?Как мне получить доступ к flashvars в AS3 и добавить их в существующее текстовое поле?

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> 

Я знаю, что это должно быть простой задачей, и я нашел несколько веб-статей, которые дают примеры, но я просто не могу заставить его работать, когда я пытаюсь сделать мой собственный код. Все, что я хочу сделать, это передать строку flashvar и получить доступ к ней по имени во flash, используя AS3, но я не могу этого сделать.

Пытаюсь:

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

Я также попытался:

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

Ничего Стараюсь работы, это всегда просто не остается пустым. Какая уловка для доступа к flashvars в flash as3? Я просто не получить его, и я не могу найти хорошее объяснение в любом месте ...

+0

и до того, как кто-то отправит меня сюда: http://blog.six4rty.ch/tutorials/flash-flashvars-in-as3/, я был там. Он работает, если я делаю это в пустом файле именно так, как он есть, но если я попытаюсь включить его в свой собственный флеш-файл, он никогда не будет работать. когда-либо .... – Ghost9

ответ

11

Попробуйте это: stage.loaderInfo.parameters.yourparam или stage.loaderInfo.parameters["yourparam"]

Вы можете разместить свой HTML код, так что мы можем увидеть, как вы проходите FlashVars мигать.

+0

Я понял, что главная проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы текстовое поле уже было в мувиклипе или на сцене, чтобы взять строку из flashvar. По какой-то причине это не будет сделано. Как сделать изменение существующего текстового поля в соответствии с текстом flashvar? – Ghost9

+0

Святое дерьмо, что stage.loaderInfo.parameters ["yourparam"] работает – Ghost9

+1

Проблема заключалась в том, что «Я пробовал нет» и «, как показали мне примеры, но использование« »- это то, что сработало. Джиз говорит о том, чтобы вытащить мои волосы. Спасибо, Роб! – Ghost9

1

Если у вас все еще есть эта проблема, следуйте нижеуказанным строкам. Я использовал вспышки, они отлично работают для меня.

Мой HTML сценарий был:

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

и мой код, чтобы загрузить вары является

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

Я потратил весь день для этого ...

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>