对于flash游戏开发者来说,为了实现平台对接,后台验证,页面参数是一个重要环节,下面说一下简单的时下方法
第一步:页面嵌入flash
利用swfObject.embedSWF方法嵌入swf文件到网页中
构建参数对象,传入即可,下面是swfObject.embedSWF详解和详细的实现过程
swfobject.embedSWF("test.swf", "content3", "300", "120", "6.0.0", "*.swf", flashvars, params, attributes);
注解:调用方法embedSWF——插入SWF文件,参数依次是
@swf文件的地址;
@用于装入swf文件的容器(如div)的id;
@flash的宽度;
@flash的高度(当然,这里的宽高都可以使用诸如100%这样的百分比来表示);
@正常播放该flash所需的最低版本;
@当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件。(该参数可以省略)
@
网页中插入flash
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("test.swf", "yourFlashContainer", "300", "120", "9.0.0", "expressInstall.swf");
</script>
构建参数对象
var flashvars = {};
flashvars.name1 = "hello";
flashvars.name2 = "world";
flashvars.name3 = "foobar";
var params = {};
params.menu = "false";
var attributes = {};
attributes.id = "dynamicContent3";
attributes.name = "dynamicContent3";
传入参数
swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes);
第二步:swf文件如何获取页面参数
很简单
在flash builder新建》actionscript项目 在index.templete.html模板中作如下修改
其实 adobe已经帮我们做了这些功能了,只需要添加参数就可以,重点是如何在
AS代码中获取到这些属性,看图:
当我们把swf加载到舞台上呈现出来,可以从stage.loaderinfo中获取attr1-attr5这些属性,代码如下
package
{
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.Event;
public class TestWebPara extends Sprite
{
public function TestWebPara()
{
addEventListener(Event.ADDED_TO_STAGE,onStage);
}
protected function onStage(event:Event):void
{
// TODO Auto-generated method stub
var stg:Stage = event.target.stage as Stage;
trace(stg.loaderInfo.parameters.attr1);
}
}
}
trace结果是attr1, over~~~