如何访问 AS3 中的 flashvars,并将它们添加到现有文本字段? [英] How do I access flashvars in AS3, and add them to an existing text field?

查看:22
本文介绍了如何访问 AS3 中的 flashvars,并将它们添加到现有文本字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始意识到我面临的主要问题是我想要一个已存在于影片剪辑或舞台上的文本字段从 flashvar 中获取字符串.出于某种原因,它不会那样做.如何更改预先存在的文本字段以匹配 flashvar 文本?

HTML:

<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=这是我的测试"/><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=这是我的测试"/><!--<![endif]--><a href="http://www.adobe.com/go/getflash"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adob​​e Flash 播放器"/></a><!--[if !IE]>--></对象><!--<![endif]--></对象>

我知道这应该是一项简单的任务,而且我找到了几篇提供示例的网络文章,但是当我尝试编写自己的代码时,我根本无法使其工作.我想要做的就是传递一个 flashvar 字符串,并能够使用 AS3 在 flash 中按名称访问它,但我似乎无法做到这一点.

我正在尝试:

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

我也试过:

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

我尝试的任何东西都不起作用,它总是保持空白.在 flash as3 中访问 flashvars 的技巧是什么?我只是不明白,我在任何地方都找不到好的解释......

解决方案

试试这个:stage.loaderInfo.parameters.yourparamstage.loaderInfo.parameters["yourparam"]

你能把你的 html 代码贴出来,让我们看看你是如何将 flashvars 传递给 Flash 的.

Edit: I've come to realize the main problem I'm facing is that I want a text field that already exists in a movieclip or on the stage to take the string from a flashvar. For some reason it will not do that. How do I make a pre-existing text field change to match the flashvar text?

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>

I know this is supposed to be a simple task, and I have found several web articles that give examples, but I simply cannot make it work when I'm trying to do my own code. All I want to do is pass a flashvar string and be able to access it by name in flash using AS3, but I can't seem to accomplish that.

I'm trying:

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

I've also tried:

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

Nothing I try works, it always just stays blank. What is the trick to accessing flashvars in flash as3? I'm just not getting it and I can't find a good explanation anywhere...

解决方案

Try this: stage.loaderInfo.parameters.yourparam or stage.loaderInfo.parameters["yourparam"]

Can you post your html code, so we can see how you pass the flashvars to Flash.

这篇关于如何访问 AS3 中的 flashvars,并将它们添加到现有文本字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆