ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:777KB ,
资源ID:7805949      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7805949.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调.doc)为本站会员(11xg27ws)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调.doc

1、 近期项目中可能要用到 Flash 存取数据,并与 JS 互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助。目录ActionScript 3.0 简介Hello World文件读写数据存储(SharedObject)与 JS 互调ActionScript 3.0 简介ActionScript 3.0 是一种强大的面向对象编程语言,ActionScript 3 符合 ECMAScript Language Specification 第三版。它还包含基于 ECMAScript Edition 4 的功能,比如类、包和名称空间;可选的静态类型;生成器和迭

2、代器;以及非结构化赋值(destructuring assignments)。随着 Web 应用程序项目需求的增长,也要求 ActionScript 引擎有重大的突破。ActionScript 3 引入了一个新的高度优化的 ActionScript Virtual Machine(AVM2),与 AVM1 相比,AVM2 的性能有了显著的提高。这使 ActionScript 3 代码的执行速度几乎比以前的 ActionScript 代码快了 10 倍。(本段内容来自百度百科)ActionScript 3.0 核心语言有很多新特性:1、运行时异常处理机制2、运行时类型3、密封类4、闭包方法5、使

3、用 E4X 理论处理 XML 数据6、正则表达式7、命名空间8、新基元数据类型Hello World这里用一个简单的例子演示如何开发 ActionScript 3.0 程序(IDE 为 Flash CS6),内容包括添加组件,注册事件,跟踪输出。1、打开 Flash CS6,新建一个 ActionScript 3.0 文档,保存为HelloWorld.fla注:此处还可以选择“文件”菜单,点击“新建”命令进行新建。2、在新建的文档上添加按钮组件把组件命名为 btnHelloWorld,并设置 label 值为“Hello World”,如下图所示:3、添加文档类(即 ActionScript

4、3.0 代码文件)输入类名称“HelloWorld”(可自定义),然后保存(Ctrl + S)或点击输入框后面的“编辑类定义”按钮,http:/ 会弹出图中的提示框,点确定即可。然后再次点击输入框后面的“编辑类定义”按钮,IDE 会自动创建一个 HelloWorld 类,并打开 AS代码编辑界面:把文档保存为 HelloWorld.as,与 HelloWorld.fla 在同一目录下。4、给按钮组件注册点击事件。注册事件要引入 flash.events.MouseEvent 包,注册事件要用 addEventListener(事件类型, 事件处理方法) ,这个跟 JS 中的基本一致。这里要注意

5、的是,如何取到文档中添加的那个 bthHelloWorld 按钮呢?不同于 JS 中我们用 ID 或 TagName 或 Name 去查找,http:/ 在 AS 中界面上定义的组件可以直接用实例名称。代码如下:5、添加跟踪代码:在点击按钮时,输出 Hello World!AS 中的跟踪代码用 trace(string),类型于 JS 中的 console.log(),代码如下:6、运行,查看效果按 Ctrl + Enter 快捷键运行,然后点击界面上的按钮,观察输出面板中的输出:至此,HelloWorld DEMO 已经完成。怎么样,有 JS 基础的同学是不是觉得很容易上手?不过目前介绍的只

6、是 Flash ActionScript 3.0 中的冰山一角。文件读写AS 3.0 中的文件读要用到 .URLLoader 和 .URLRequest 和 .URLLoaderDataFormat 包,文件写要用到 .FileReference 包。另外,对于文件的写更像是文件下载,会弹出一个选择路径的窗口。在 AIR 中可以用其他方式实现不弹窗的文件写。1、文件读取文件数据的读取是用 URLLoader 加载一个 URLRequest 。URLLoader 可用来加载文本文件、二进制数据或外部变量的值。使用方法如下:var dataLoad:URLLoader = new URLLoade

7、r();/文件路径var dataFilePath: String = “demo.txt“;/构造 URLRequestvar dataRequest: URLRequest = new URLRequest(dataFilePath);/设置数据格式dataLoad.dataFormat = URLLoaderDataFormat.TEXT;/注册加载完成事件dataLoad.addEventListener(Event.COMPLETE, loadDataComplete);/开始加载dataLoad.load(dataRequest);/数据读取完成后进行处理private funct

8、ion loadDataComplete(e: Event):voidvar fileData:String = dataLoad.data;2、文件写入写文件直接用 FileReference 的 save 即可,代码如下:var f:FileReference = new FileReference;f.save(内容, 文件名);我写了一个 DEMO,界面如下,界面绘制方式跟上面界绍的一样。AS 代码如下:View Code 代码中有部分是控制格式的,可以不看。数据存储(SharedObject)如果不依赖服输务端,AS 中的数据存储一般用的是 SharedObject(译为本地共享对象

9、),SharedObject 跟浏览器中的 cookie 类似,不同的有两点:1、SharedObject 默认没有过期时间,cookie 默认随浏览器关掉就失效2、SharedObject 存储数据默认限制为 100k,cookie 要小一些,大多数浏览器支持最大为 4096 字节的 Cookie。SharedObject 的使用比较简单,示例代码如下:/创建一个名为 test 的本地共享对象; var so = SharedObject.getLocal(“test“); /给共享对象添加一个 username 的属性并存储数据 so.data.username=“artwl“; /添加该

10、属性不会将它保存到硬盘。只有影片被卸载或使用语句 so.flush()强制保存信息。 so.flush(); /现在可以用 trace 语句获取一下 username 的值; trace(so.data.username); DEMO 界面如下:AS 代码如下:View Code 与 JS 互调ActionScript 与 JS 互调可能是很多前端开发者比较感兴趣的地方。需要引入 import flash.external.ExternalInterface;1、ActionScript 调用 JavaScript 的方法这里要用到 ExternalInterface 类的 call 方法:E

11、xternalInterface.call(functionName:String,.arguments):fuctionName:要调用的 JavaScript 函数名arguments: 参数,可选1)不带参数的情况:/JavaScript:function Show() alert(“I am a js function“);/ActionScript 直接用一条语句调用ExternalInterface.call(“Show“);2)带参数的情况:/JavaScript:function Show(message) alert(message);/ActionScript:Extern

12、alInterface.call(“Show“,“I am a message from AS“);2、JavaScript 调用 ActionScript 的方法ExternalInterface.addCallback( functionName:String, closure:Function):void functionName:要注册的函数名closure:对应的执行函数示例:/ActionScript:ExternalInterface.addCallback(“Show“,OnShow);private function OnShow(message:String):string

13、return message;/JavaScript:function CallAS() /swfobj 是页面引入的 swf 对象swfobj.Show(“i am a message from js“);这里有几点需要注意(都是这两天踩过的坑):1、页面上引入的 swf 中 allowScriptAccess 参数的值要改为 always ,否则 AS调 JS 会不起作用(权限问题):2、如果直接用 Flash CS6 的“文件”-“发布预览”-“HTML” 命令生成 HTML 页面,引入的 object 会有两层,默认只有外层的 object 标签上有 id 属性,我们要自己在内层obj

14、ect 也加上 id 属性(值可以自己写),这样做的目地是,我们不知道浏览器最终渲染时用的是哪个 object,所以要自己判断,HTML 代码如下:这里内部 object 的属性 id=“FlashJSDemo1“就是我自己加上去的。在 JS 中要这样判断:var FlashJSDemo1 = document.getElementById(FlashJSDemo);var FlashJSDemo2 = document.getElementById(FlashJSDemo1);/这一句就是判断用的是哪个 objectvar FlashJSDemo = FlashJSDemo1.setName != undefined ? FlashJSDemo1 : FlashJSDemo2;FlashJSDemo.setName(name);注:这里的 setName 是我在 AS 中定义的,供 JS 调用的。在我机子上,用 chrome 浏览器的测试结果是最终 setName 绑到了内层 object 上。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报