中华网通行证
用户名 密码

Flash8与javascript集成(2)
中华网科技 http://tech.china.com 2005-12-14 14:24:37
进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口

  
  上面这个范例是一个方法的例子,使用getURL方法也可以做到,然而externalinterface不只是能做到这些,除了发送信息给javascript,它还可以通过addCallback方法接收从javascript返回的信息。
  addCallback 方法

  AddCallback方法允许javascript调用flash时间上函数,基本的语法结构如下:

import flash.external.*;
alert_butn.clickHandler = function() {
ExternalInterface.call("alert", alert_txt.text);
}

与call方法类似,它也是一个静态方法,它有三个参数

·functionID - 从 JavaScript 调用 ActionScript 函数时可使用的名称。此名称不必与 ActionScript 方法的实际名称匹配。

·instance - this 在该方法中被解析成的对象。此对象不一定是在其上可找到该方法的对象,您可以指定任何对象(或 null)。

·functionName - 要从 JavaScript 调用的 ActionScript 方法。

现在让我们开始一个例子,在这个例子中我们将使用flash调用javascript的命令来请示用户输入色值,当色值输入后点击ok,对象返回到flash并更改它的色彩,如下方法:

1.创建一个flash文档命名为external2.fla.

2.与第一个例子相同,创建两层上层命名为as.下层命名为“内容”。

3.在内容层拖动一个按钮组件至场景中,放在左上方,将label设为”变色”,实例名为change_butn.

4.确保当前在”内容层”,绘制一个色值为0x000000的盒子,大小为100*100,当然这个没有限制。

5.将这个方块转换为movieclip.实例名称命名为rec_mc.

6.在第一帧上输入代码如下:

import flash.external.*;
//改变方块的色彩
function onChange(clr:Number) {
var temp_color:Color = new Color(rec_mc);
temp_color.setRGB(clr);
}
//允许javascript调用onChang函数
ExternalInterface.addCallback("onChange", this, onChange);
//打开命今窗口
change_butn.clickHandler = function() {
ExternalInterface.call("callPrompt", "你想用什么的色彩? (ex: 0xff0000)");
}

  在代码的前边我们要先导入externalinterface类包,然后我们创建一个能改变场景中方块色彩的函数,完成后,我们调用addCallback方法以使javascript可以调用flash的onChang函数。最后,我们针对按钮创建事件来调用javascript命令。
  你需要发布swf和html,然后用编辑软件打开编辑器,如果你只是从flash调用javascirpt,那么你什么也不用做。但是如果你需要使用javascirpt调用flash函数,还有一些小的工作需要做。

  在tilte标签的下方加入下面的javascript代码:如下:
<script language=JavaScript>
var me; //代表swf的id
//获取正确的引用
function getID(swfID) {
if (navigator.appName.indexOf("Microsoft") > -1) {
me = window[swfID];
} else {
me = document[swfID];
}
}
//下面这段调用onChang函数并返回到flash.
function makeCall(str){
me.onChange(str);
}
//下面这个函数是被flash调用的。
function callPrompt(str){
makeCall(prompt(str));
}
</script>

开始,我们创建变量me来存放swf的引用。如果没有它,我们不能调用flash函数。然后我们使用函数getID通过条件针对不同的浏览器来设置引用,之后,我们创建makeCall函数,用来调用flash函数,最后我们创建由flash来调用的函数callPromt().它将调用makeCall函数来发送信息返回到flash.
  在html的body标签的属性中加入onload,并设置它等于getID函数,如下:

<body bgcolor="#ffffff" onload="getID(‘external2‘);">

注意,当我们设函数给onload事件,我们传递给它swf的id.它可以在swf的嵌入位置找到,现在,当页初始化完成后,函数getID将被调用,变量me就会被设置,以使javascript可以调用flash函数。
将文件上传到服务器上,并进行测试,当你点击按钮并在提示中输入色彩值,flash中的方块色就会改变。如下。

首页 上页 | 1 | 2 | 下页 尾页  共 2

 

50款最具性价比数码相机/MP3推荐!
作者:webstudio 来源:IT168

发表言论:
笔  名:
查看评论
﹣相关报道
Flash全屏效果全攻略 (2005-12-13 14:04:13)
看你往哪躲! 教你巧抓网页内嵌Flash (2005-12-13 10:17:17)
只需三步 菜鸟制作精美Flash导航菜单 (2005-12-08 11:28:13)
教会你玩转网上娱乐Flash的几个妙招 (2005-12-08 10:07:54)
从网页缓存中挖掘音乐和Flash资源 (2005-11-02 11:44:44)

﹣精彩回顾
·揭秘越南姑娘的“性契约”(组图)
·中国研制成功银河麒麟操作系统
·近处偷拍野狮性爱 野草丛中见柔情(图)
·难得一见“水下分娩”全程跟拍(组图)
·古代性器具及性惩罚工具(组图)
·揭密中外历史上乱伦的名人们(组图)
·探秘世界各地诡异的干尸新娘(组图)
·隋唐两个王朝的九大著名"绿帽子"(组图)
·另类的惨烈:螳螂血战壁虎谁更凶猛(图)
·一分钟平静死去 注射死刑全过程(图)

进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口


潮流·时尚
·市场上的天价手机全搜罗
·一周降幅最大手机导购
·FM调频收音功能手机选购
·索尼爱立信三新机曝光
·诺基亚N73音乐版精品赏
·热门便携笔记本搜索导购
·近期最新上市机型大盘点
·矩阵Matrix鼠标垫细评测
·19寸20寸22寸液晶该买谁
·近期几款热卖MP3大推荐
·四大即将退市经典MP3选购
·06年最火七大DC缺点曝光
·六百万像素超值机型推荐
·诺基亚推出随身小音箱
·LG直板巧克力KG99评测
·MOTO新机即将国内上市
·超低价蓝牙手机导购
·130万像素一样拍出好照片
·诺基亚两款蓝牙耳机新品
·索爱纯美折叠机Z558评测

软件下载
·豪杰大眼睛 V2.5
·Foxmail V6.5
·天网防火墙Athena
·极品五笔 V6.8
·PPS网络电视
·超级兔子魔法设置
中华网搜索
站内搜索
全网搜索




热门搜索
耳机 印刷 手机 拖鞋
减速机 钟表 成人用品
减肥 枸杞 T恤 升降机
心理 健康 彩票 招聘
礼品 旅游 猎头 培训

产品服务
·机会!机会不容错过
·中华商机,搜索创新
·准确快捷,搜你所搜
·¥来¥往,尽在中华邮
·中华搜索,贴心搜索




科技频道主编信箱