首先,我使用的是 Flash CS5.5、AS3。
我正在尝试将表示名称和电子邮件地址的变量传递给 swf 文件。swf 使用用户的网络摄像头拍照并将图像发送到 save.php 进行进一步处理。目前我有文本字段供用户输入姓名和电子邮件,但我想消除它们并在幕后添加信息。基本上这就是我想要完成的:
1.Page loads and stores name and email address in variables(index.php).
2.I'd like to pass name and email address variables to flash to be included with
the image the swf sends to a php file for processing (save.php)
3.Page loads flash content(take_picture.swf) and does it's thing.
我已经使用 Zend AMF 在类似的情况下工作,其中 swf 获取从访问数据库的另一个页面传回的所有信息。在这里,我无需访问数据库即可获得所需的数据。我使用 FlashVars 尝试了许多变体,但还没有任何效果。我似乎缺少的一件事是,当我发布 fla 时,ac_fl_runcontent
Flash 发布的 html 代码中没有。而且也没有<embed src=...
。这个 div 是 Flash 给我的 html 文件的主体:
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="760" height="1000" id="take_picture" align="middle">
<param name="movie" value="take_picture.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="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="take_picture.swf" width="760" height="1000">
<param name="movie" value="take_picture.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="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--<![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>
我已经尝试<param name="FlashVars" value="first_name=<?php echo $first_name; ?>&email=<?php echo $email ?>" />
过一些类似于操作面板的东西this.loaderInfo.parameters.first_name
以及this.loaderInfo.parameters[first_name]
其他一些东西,但还没有让它工作。任何帮助,将不胜感激。
非常感谢,
标记
编辑:这是我最近的尝试:
var f_name:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
f_name = String(paramObj[first_name]);
first_name.text=f_name;
在html中使用这个:
<param name="FlashVars" value="first_name=<?php echo $first_name; ?>"/>