ActionScript编程 加载服务端程序数据
ActionScript编程 读取ID3信息
ActionScript编程读取ID3信息作用:获取正在播放的声音文件的信息,例如歌曲名、艺术家、专辑、分类等。
说明:使用mp3格式的声音文件可以采用ID3标签格式来包含有关声音的其它数据。
mp3文件大多包含一些歌曲名、艺术家、专辑、发行年等元数据,不过这些信息并不是都有,但在大多数情况下都有歌曲名和艺术家标签。
Sound对象的id3属性提供对作为mp3文件一部分的元数据的访问。
如果使用Sound.load()方法加载的MP3声音包含ID3标签,则可以获取这些属性。
目前,只支持使用UTF-8字符集的ID3标签。
其实,id3属性是flash.media.ID3Info类的实例,它包含以下属性:●album 专辑的名称。
●artist 歌手的姓名。
●comment 录制的相关注解。
●genre 歌曲的流派。
●songName 歌曲的名称。
●track 曲目的编号。
●year 录制的年份。
如果想要获取mp3声音文件的歌曲名称和歌手姓名,可以使用下面的方法:sound.id3.songName; //获取歌曲的名称sound.id3.artist; //获取歌手的姓名如表24-2描述了在ActionScript中受支持但不具有预定义属性的ID3标签。
通过调用sound.id3.TFLT和sound.id3.TIME等来访问它们。
表24-2 ID3标签属性当Sound对象加载mp3声音文件时,如果该声音文件包含ID3元数据,它将调度Event.ID3事件。
如果要防止出现运行时错误,应用程序应等待接收Event.ID3事件后,再访问加载的声音的Sound.id3属性。
示例:加载相同文件夹中的song.mp3声音文件,并侦听该声音Sound对象的ID3事件。
当调度ID3事件后,将获取该声音文件的相关信息,如歌曲名称、歌手姓名、专辑名称等,如下所示。
import flash.events.Event;import flash.media.ID3Info;import flash.media.Sound;//导入所需的类var sound:Sound = new Sound();var req:URLRequest=new URLRequest("song.mp3");sound.addEventListener(Event.ID3, onID3InfoReceived);sound.load(req);function onID3InfoReceived(event:Event) {var id3:ID3Info=event.target.id3;var field:TextField = new TextField();field.border = true;field.autoSize = TextFieldAutoSize.LEFT;//在filed文本字段中显示mp3文件ID3信息field.text = "mp3文件的ID3信息:\n";field.appendText("歌曲名称:" + id3.songName + "\n");field.appendText("歌手姓名:" + id3.artist + "\n");field.appendText("专辑名称:" + id3.album + "\n");field.appendText("录制年份:" + id3.year + "\n");field.appendText("曲目编号:" + id3.track + "\n");field.appendText("歌曲流派:" + id3.genre + "\n");addChild(field);}上面的代码首先创建一个Sound对象并通知该对象侦听Event.ID3事件。
ActionScript
ActionScript 3 的优点
这个新版本具有以下优点:
这种语言支持类型安全性,使代码维护更轻松。
与其他语言相比,这种语言相当简单,很容易编写。
开发人员可以编写具有高性能的响应性代码。
这种语言向后兼容 ActionScript 2 并向前兼容 ECMAScript for XML(E4X)。
回页首
使用 ActionScript 3 的简单示例
这个 ActionScript 示例显示欢迎消息 “Hello <Username>”。用户可以在文本框中输入用户名。按回车时,就会显示欢迎消息。
清单 1. 示例代码
package {
public class Greeter {
在运行时存储类型细节,用来进行检查并保护系统,因此 ActionScript 3 是强类型的。这还有助于减少内存使用量,因为类型信息以本机机器表示法表示变量。
ActionScript 3 完全符合 ECMAScript 第四版规范,这可以简化 XML 解析。
ActionScript 3 的 Flash Player API 特性包括:
Tamarin Virtual Machine 当前实现 ECMAScript 第三版语言标准(这是 JavaScript、Adobe ActionScript 和 Microsoft Jscript 采用的标准),还支持 ES4 中建议的一些新语言特性。社区正在开发 ES4 的开放源码实现,Adobe 和 Mozilla 希望以此促进这种创建 Web 应用程序的标准化语言的推广。Tamarin 项目的目标是帮助开发人员创建可以跨多个平台的效果丰富的高度交互性的用户体验。
2023大学_ActionScript3.0实用教程
2023ActionScript3.0实用教程2023ActionScript3.0实用教程:使用显示对象在as中,通信是完全由事件驱动的。
as3.0的事件模型允许完全封装类对象。
封装的意思是类对象仅处理他们自己的内部,与其他类对象的功能没有联系。
他们做自己的工作并且保持低调。
对象需要与外部世界通信时,他们就分发事件。
注册在对象上的监听器等待分发的事件,并作出相应的动作。
在许多情况下都会触发事件,这取决于类本身。
通过标准的as API处理他们。
7.1 as3.0 事件模型as3.0事件模型使对象之间的通信简单、一致。
7.1.1 事件过程细节处理事件的3个过程如下事件监听器声明声明注册函数来监听事件事件分发当事件在类中发生时,它就会被这个对象分发出去。
事件对象被事件传递。
事件对象包含事件的相关信息。
事件监听器或处理器事件监听器或处理器是拥有一系列代码的函数,响应函数可以“听到”的事件。
事件监听器和事件处理器是相同的意思——是一个监听事件也是处理事件的函数。
7.1.2 事件分发所有的类都用从EventDispatcher类继承的dispatchEvent()方法分发事件,或者实现IEventDispatcher接口。
当类中的某件事情发生并且想要分发到应用程序的其他部分让他们知道这件事情发生了时,就调用dispatchEvent()方法。
事件相关的信息和其他需要的参数通过时间对象发送给监听器。
事件的分发者是事件过程的开始。
Event类是所有事件对象的基类。
当一个事件被EventDispatcher的方法触发(例如addEventListener),事件对象都被作为参数传递到监听器函数中。
事件对象包含被分发事件的相关数据。
Event类有标准的属性,方法和被大多数类使用的常量。
Event类的属性bubbles 布尔值,指示事件是否为冒泡事件cancelable 指示是否可以阻止与事件相关联的行为currentTarget 当前正在使用某个事件监听器处理事件对象的对象phase 事件流中的当前阶段target 事件目标type 分发事件类型7.1.3 注册事件监听器事件监听器向对象注册来监听对象分发的事件。
ActionScript3.0 编程基础_数据类型及其运算、程序流程
ActionScript3.0 编程基础_数据类型及其运算、程序流程关键字: flex7.3 数据类型和数据运算7.3.1 关于数据类型一个变量或者常量被声明时,必须指定其数据类型:原生数据类型:语言本身提供:字符串、整数、布尔型等复杂数据类型:由基本数据类型组成的复合型类型:类、接口等。
基本数据类型:∙Boolean:布尔型,true 和 false∙int:整数,存放32位二进制整数,范围:-2147483648~2147483647,当超出自动转为Number∙Null:空值,是字符串和所有类的默认值。
∙Number:整数型和浮点型,使用64位双精度格式存放数据,没有小数点时自动转换成整数。
最小值和最大值分别存放在Number 对象的MIN_VALUE 和 MAX_VALUE属性中。
∙String:字符串,以Unicode 编码格式存放。
∙uint:正整数类型,0~4294967295∙void:值为undefined,只能用作函数的返回类型。
1、Boolean:布尔型,它可以使用true或false(用于进行逻辑运算)两个值中一个值。
2、int:表示为 32 位带符号整数的数据类型。
int 类表示的值的范围是:-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1)。
3、uint:表示 32 位无符号整数的数据类型的方法。
4、String:表示一串字符的数据类型。
5、Number:表示 IEEE-754 双精度浮点数的数据类型。
6、.Date:表示日期和时间信息。
复杂数据类型:Object 对象、 Array 数组、 Date 日期、Error 错误对象、Function 函数、 RegExp 正则表达式、XML XML数据对象、XMLList。
其中Object 是所有对象的基类。
以下是各个类型的默认值∙Object、Array :null∙Number:NaN∙int、uint:0∙Boolean:false∙*:不定类型,默认值:undefined。
ActionScript编程 加载文本格式数据
ActionScript编程加载文本格式数据作用:读取外部的文本文件,并将其内容加载到应用程序中。
说明:ActionScript 3.0使用URLLoader来加载外部数据。
该类以文本、二进制数据或URL编码变量的形式从指定的URL地址加载数据,可以用于加载文本文件、XML或其它要用于数据驱动的动态ActionScript应用程序中的信息。
通过new运算符和URLLoader()构造函数可以创建URLLoader对象,方法如下所示。
var loader:URLLoader = new URLLoader(request);URLLoader()构造函数可以接受一个request参数,表示一个URLRequest对象,指定要加载的URL地址。
如果省略该参数,则不执行加载操作;如果已指定参数,则立即执行加载操作。
URLLoader对象包含bytesLoaded、bytesTotal、data和dataFormat 属性,其详细介绍如下所示。
●bytesLoaded 指示加载操作期间到目前为止加载的字节数。
●bytesTotal 指示所下载数据中的字节总数。
正在进行加载操作时该属性包含0,完成操作时会填充该属性。
另外,丢失的Content-Length标题将会导致bytesTotal不确定。
●data 从加载操作接收的数据。
只有完成加载操作时,才会填充该属性。
该数据的格式取决于dataFormat属性的设臵,如表24-1所示。
●dataFormat 控制是以文本(URLLoaderDataFormat.TEXT)、原始二进制数据(URLLoaderDataFormat.BINARY)还是URL编码变量(URLLoaderDataFormat.V ARIABLES)接收下载的数据。
默认值为URLLoaderDataFormat.TEXT。
于和URLLoader对象包含有URLLoader()、close()和load()方法,用于创建新的URLLoader对象、关闭加载以及发送和加载数据,详细介绍如下所示。
ActionScript编程 加载名值对格式数据
ActionScript编程加载名值对格式数据作用:加载外部的文本文件,并将其内容中变量(可以是多个变量)的值加载到应用程序中。
说明:名值对是一种通过赋值符号(=)将变量名称和值连接在一起的方式。
赋值符号(=)的左侧为变量名称,右侧为值。
值可以是一个以逗号分隔的列表,该列表被分解为字符串。
名值对的基本形式如下所示。
variable = value如果文本文件中包含有多个名值对,则需要使用连接符号(&)将它们连接在一起,基本形式如下所示。
variable1 = value1 & variable2 = value2 & … & variableN = valueN为这样做会使代码的读取和调试变得更困难。
如果文本文件中包含有名值对,那么在加载文本内容时需要使用URLVariables类来分析这些数据。
URLVariables类用于在应用程序和服务器之间传输变量。
使用new运算符和URLVariables()构造函数可以创建新的URLVariables实例,方法如下所示。
var variables:URLVariables = new URLVariables(source);URLVariables()构造函数可以接受一个source参数,表示包含名值对的URL编码的字符串。
decode()URLVariables对象具有decode()和toString()方法,其详细介绍如下所示。
●decode() 将变量字符串转换为指定URLVariables对象的属性。
该方法供URLVariables事件内部使用。
该方法接受一个source参数,表示包含称值对的URL编码的查询字符串。
●toString() 以MIME内容编码格式application/x-www-form-urlencoded返回包含所有可枚举变量的字符串。
该方法接受一个String参数,表示包含称值对的URL编码的字符串。
ActionScript菜鸟基础终极教程
第1章揭开ActionScript的神秘面纱ActionScript是Flash内置的编程语言,用它为动画编程,可以实现各种动画特效、对影片的良好控制、强大的人机交互以及与网络服务器的交互功能。
ActionScript是一门吸收了C++、Java以及JavaScript等编程语言部分特点的新的语言。
ActionScrip使用英文单词和元件提供了一种为Flash影片设置指令的方法。
它的存在确保了Flash影片较之普通的按照线性模式播放的动画具备强大得多的人机交互能力。
可以为时间轴中的关键帧、按钮和影片剪辑添加ActionScript。
选中这些关键帧、按钮和影片剪辑,打开其动作面板,你就可以看到它们都添加了哪些脚本。
1.1 Flash中的程序交给计算机执行的指令集称为程序。
程序的另一个名称叫做脚本。
从现在开始,我们将这些指令集统称为脚本。
脚本都必须有它的运行环境,就ActionScript来说,它的运行环境就是Flash影片。
ActionScript 可以指挥Flash影片该做什么。
在某些情况下,ActionScript还可以指挥其他的东西,如用户的操作系统、浏览器等。
但是ActionScript最主要的用途还在于控制Flash影片内部的东西。
短的脚本可以只有一行,长的脚本可以长达几千行。
它们可以作用于Flash影片的一个部分,也可以贯穿影片始终。
有人把使用了脚本的整个Flash影片看作一个程序,也有人把影片中单独出现的脚本看作一个程序。
这两种看法都正确,因为一个单独的程序也可以被定义成若干小程序。
你可能对某些编程语言已经相当熟悉或者有所了解。
例如广大网页设计者所熟知的JavaScript,以及另一种相似的语言VBScript,它们能用来编辑动态网页。
HTML(Hypertext Markup Language 超文本置标语言)是另一种特殊的语言,浏览器将按照它所包括的指令正确地显示文本和图片。
在学校里面,你可能接触过一些编程方面的课程,如BASIC、Pascal、C、Java等。
as的用法整理
as的用法整理一、引言AS(ActionScript)是一种基于Adobe Flash的脚本语言,用于开发互动式的富媒体应用程序和游戏。
它具有强大的功能和灵活性,因此在网页设计和开发领域中广泛应用。
本文将整理AS的用法,以帮助初学者更好地掌握这一技术。
二、基础知识1. AS是面向对象的语言:AS支持面向对象编程范例,拥有类、继承、多态等特性,这使得代码可以模块化,并且容易维护和扩展。
2. AS与Flash之间的关系:AS作为Flash平台上的脚本语言,可以直接与Flash文件进行交互。
通过AS,开发人员可以创建动态和交互性更强的Flash内容。
3. AS与HTML/CSS的关联:尽管AS主要用于制作交互式Flash应用程序,但它也可以嵌入到HTML文件中实现与网页元素(如按钮、表单等)的交互。
三、常见用法1. 动画效果:使用AS可以创建各种动画效果,例如渐变过渡、缓动效果等。
通过控制时间轴上对象属性的变化以及设置适当的事件处理函数,你可以实现令人惊叹的动画效果。
2. 事件处理:AS允许你为Flash对象绑定各种事件,并在事件触发时执行相应的代码。
例如,你可以通过在按钮上添加鼠标点击事件,实现用户点击按钮后执行特定操作的功能。
3. 数据验证和表单处理:对于具有表单或用户输入的应用程序,AS提供了丰富的验证和处理工具。
你可以使用正则表达式、条件语句等方式来验证用户输入数据的有效性,并根据不同情况采取相应措施。
4. 多媒体处理:AS支持多种多媒体文件格式(如图片、音频、视频),可以灵活地加载和播放这些文件。
你可以使用AS创建自定义音频播放器、视频播放器等功能。
5. 网络通信:与服务器进行数据通信是许多网络应用程序的关键功能。
AS提供了一系列客户端网络协议,如HTTP、SOCKS等,使得开发者能够构建与服务器的数据交互功能。
四、进阶技巧1. 优化代码性能:编写高效率和低内存消耗的代码是开发者需要追求的目标之一。
ActionScript编程 管理加载进度
ActionScript编程管理加载进度作用:管理和监控视频的加载情况。
说明:ActionScript允许用户通过NetStream类的几种属性监控加载进度,以及设置缓冲区的大小。
在ActionScript3.0中,监控视频文件加载的进度,需要使用到NetStream类的bytesTotal属性和bytesLoaded属性。
●bytesTotal 该属性的作用是检测视频文件的总大小,单位为字节●bytesLoaded 该属性的作用是检测已加载部分视频文件的大小,单位为字节通过以上两种属性,用户可以方便地监控视频文件加载的进度,求出目前已加载进度的百分比。
需要注意的是这两种属性都是只读属性,bytesTotal属性将随视频的变更而改变。
bytesLoaded属性则只会随视频加载的进度逐渐增大。
示例:通过本小节介绍的知识点,用户可以方便地编写检测整个文件加载进度的动画。
例如,分别绘制黑色、黄色和红色3种颜色的矩形,检测example.f4v文件的大小、加载进度以及播放进度,如下所示。
var netConnection:NetConnection=new NetConnection();netConnection.connect(null);//实例化视频数据连接对象,并定义连接名称var netStream:NetStream=new NetStream(netConnection);//实例化视频流数据对象var client:Object=new Object();//实例化元数据回调的对象netStream.client=client;//回调元数据netStream.play("example.f4v");//播放视频流var video:Video=new Video();video.x=115;video.y=10;video.attachNetStream(netStream);stage.addChild(video);//定义视频对象,并加载视频流对象var speedBar:MovieClip=new MovieClip();//实例化进度条的影片剪辑元件var speedBarBG:Sprite=new Sprite();speedBarBG.graphics.beginFill(0x000000); speedBarBG.graphics.drawRect(114,255,322,4); speedBarBG.graphics.endFill();speedBar.addChild(speedBarBG);//绘制进度条的黑色背景var loadSpeedBar:Sprite=new Sprite();speedBar.addChild(loadSpeedBar);//实例化加载视频文件的进度图像单元var playSpeedBar:Sprite=new Sprite();speedBar.addChild(playSpeedBar);//实例化播放视频文件的进度图像单元stage.addChild(speedBar);//将进度条的影片剪辑添加到舞台var videoTotal:Number=0;//声明影片持续播放时间的变量client.onMetaData=function (stream:Object):void{ videoTotal=stream.duration;}//回调onMetaData()事件,读取元数据中的持续播放时间setInterval(drawSpeedBar,100);//通过计时函数调度绘制进度条的函数function drawSpeedBar():void {//自定义drawSpeedBar()函数,绘制进度条loadSpeedBar.graphics.clear();//清除加载进度条loadSpeedBar.graphics.beginFill(0xffff00);//开始为其进行黄色填充loadSpeedBar.graphics.drawRect(115,256,netStream.bytesLoaded/netStream.bytesTotal *320,2);//绘制矩形loadSpeedBar.graphics.endFill();//完成填充if (netStream.time!=0) {//判断,当影片已开始播放时playSpeedBar.graphics.clear();//清除播放进度条playSpeedBar.graphics.beginFill(0xff0000);//开始红色填充playSpeedBar.graphics.drawRect(115,256,netStream.time/videoTotal*320,2);//绘制矩形playSpeedBar.graphics.endFill();//完成填充}}。
actionscript
利用actionscript可以实现:1.加载图像2,播放视频和音频3,用编程的方式绘图 4.加载各种数据如XML文件5,响应用户事件如鼠标单击Actionscript 3.0中的所有显示类型都继承自flash.display.Displayobject对象,Actionscript3.01.变量理解:变量就像一个容器,其其它数据的表示如字符串数组或其它值,变量在程序运行时是可以改变其存放的值的,变量的定义:var 变量名:变量类型;var 变量名:变量类型=初始值;变量名的命名应该遵循驼峰命名法则:即第一个字母小写其余头字母大些其余小写,并且变量名的命名不应该与关键字发生冲突;1.2常量理解:常量是在程序运行时不可改变的量:常量的定义:const 常量名:类型=值常量的命名应该遵循所有字母均大写字母之间应该用下划线隔开;1.3字面表示理解:即直接表示出来的值字面包括:数字值(int和uint);用单引号或双引号括起来的字符串值(String);用true和false表示的布尔值(Boolean);数组值(array);用大括号括起来的通用对象(array)如{name:"alseh".......};2.访问控制符访问控制符包括:public ;private;protect;和internal;理解:public表示所有的类都可以访问这个类中的属性和方法;即它对公众是公开的,private表示私有即只有定义它的类可以使用其中的属性和方法其余的类包括其子类均不可访问这个类的私有属性和方法protect表示保护即只有定义它的类和其子类可以使用其中的属性和方法其余的类不可访问internal表示内部的即表示定义它的类和与定义对象有相同类包的类才可以访问3.作用域理解:作用域包括全局作用域和局部作用域全局作用域即如同全国的法律,对象在如何位置都可以访问它,而局部作用域就像地方性法律,对象中有在定义它的对象中访问超过了作用域则不可访问3.1全局变量理解:在根时间轴上定义或在函数类外定义的变量均属于全局变量,3.2局部变量:理解:静态局部变量虽然在整个源程序,但是其不改变其作用域,类级(静态)变量和方法:类的所有实例都共享相同的静态值,由于类在任何地方都可以使用(只要你声明为public),因此类级(静态变量)和全局变量的作用相类似;实例级变量和方法:类还可以定义每个类实例的变量和方法,在类中这些变量最常见,和静态变量不同这些变量在每个实例之间彼此独立。
actionscript3.0编程手册
文章标题:探寻 ActionScript 3.0 编程手册的精髓在学习 ActionScript 3.0 编程手册之前,让我们先来了解一下它的背景和重要性。
1. ActionScript 3.0 是什么?ActionScript 3.0 是一种面向对象的编程语言,专为 Adobe Flash 和Adobe 本人R 评台设计。
它具有强大的处理能力和灵活的语法结构,使得开发者可以轻松地创建复杂的互动性内容和多媒体应用程序。
2. ActionScript3.0 的重要性作为 Flash 评台的核心语言,ActionScript 3.0 在网络动画、网页游戏、富媒体全球信息湾以及移动应用开发中发挥着重要作用。
深入学习和掌握 ActionScript 3.0 编程手册,将为开发者提供丰富的编程知识和技能,有助于他们在动态互联网时代中脱颖而出。
3. 从基础到进阶:深入学习 ActionScript 3.0要熟悉 ActionScript 3.0 语言的语法和特性。
理解数据类型、函数、类和对象等基本概念是入门的第一步。
随后,深入学习面向对象编程的思想和原则,掌握设计模式和架构的应用。
进阶阶段涉及与 Flash 评台的交互、动画控制、多媒体处理等内容,需要深挖语言的高级特性和功能。
4. 实战项目:将学习付诸实践除了书本知识,实践项目同样重要。
通过构建实际的 Flash 项目,如动画效果、小游戏或者交互式应用,将学到的知识付诸实践。
在项目实践中遇到的问题和挑战,将会推动开发者更深入地理解和掌握ActionScript 3.0 编程技能。
5. 个人观点:行动起来,探寻编程之美在学习 ActionScript 3.0 编程手册的过程中,我深切体会到编程的魅力。
只有不断地行动和实践,才能真正掌握和应用这门高级编程语言。
我相信,只要坚持不懈地去探寻编程之美,我们一定能够在代码的世界里创造出无限可能。
总结:学习 ActionScript 3.0 编程手册需要我们从基础开始,逐步深入,将知识付诸实践。
第4章 ActionScript 3.0 编程基础
4/4/2014
4.2.5 常量
与变量相对应的,常数就是程序代码执行过程中始终不变的对象,是 存储在计算机内存单元中的只读数据。 在ActionScript3.0中,常数一般分为三种类型:数值型、字符串型和 逻辑型。 1.数值型常数:一般是语句中属性的具体参数值。如:setProppert y(star,_alpha,50);上述语句中的数值“50”就是数值型常数。 2.字符串型常数:由多个字符组成的数值,每一组字符串两端都需 要使用双引号。 3.逻辑型常数:判断条件是否成立,如果成立,则在语句代码中用1 或ture表示,如果不成立,则用0或是false表示。 在ActionScript3.0中,用户声明常量时,需要使用const关键字。 Const constName:DataType=Valnue; 其中,consName是表演常量的名称,DataType表示常量的数据类 型,Value是常量的具体数值。
4/4/2014
4.3 数据类型--4.3.1 数据类型的分类
数据类型就是表明一个变量可存储信息的种类。在ActionScript3.0 中数据类型大概可以分为基元型数据类型和复杂型数据类型两种。 1.基元型数据类型。基元型数据类型是值类型数据,它可以直接储 存数据,使用这种类型的数据为另一个的变量赋值之后,若另一个变 量发生改变,并不影响原变量的值。基元型数据主要指布尔型、数据 型、字符串型、整型和数值型等。 2.复杂型数据类型。复杂型数据类型是引用类型数据,引用类型数 据是指向要操作的对象一个变量引用另一个变量之后,若该变量发生 改变,被引用的变量也跟着发生改变。使用new关键字创建的数据类 型同属于引用型数据。复杂型数据包括对象型、数组型、日期型、错 误对象、可扩充的标记语言对象等类型。 一般情况下,基元型数据类型比复杂型数据类型处理速度更快一些。
Actionscript3教程(编程基础篇)
Actionscript3编程基础编程基础因为ActionScript是一种编程语言,所以,如果您首先了解几个通用的计算机编程概念,则会对您学习ActionScript 很有帮助。
计算机程序的用途首先,对计算机程序的概念及其用途有一个概念性的认识是非常有用的。
计算机程序主要包括两个方面:■ 程序是计算机执行的一系列指令或步骤。
■ 每一步最终都涉及到对某一段信息或数据的处理。
通常认为,计算机程序只是您提供给计算机并让它逐步执行的指令列表。
每个单独的指令都称为“语句” 。
正如您将在本手册中看到的那样,在ActionScript 中编写的每个语句的末尾都有一个分号。
实质上,程序中给定指令所做的全部操作就是处理存储在计算机内存中的一些数据位。
举一个简单的例子,您可能指示计算机将两个数字相加并将结果存储在计算机的内存中。
举一个较复杂的例子:假设在屏幕上绘制了一个矩形,您希望编写一个程序将它移动到屏幕上的其它位置。
计算机跟踪该矩形的某些信息—该矩形所在位置的x、y 光标、它的宽度和高度以及颜色等等。
这些信息位中的每一位都存储在计算机内存中的某个位置。
为了将矩形移动到其它位置,程序将采取类似于“将x 坐标改为200;将y 坐标改为150”的步骤(也就是说,为x 和y 坐标指定新值)。
当然,计算机的确会对这些数据进行某些处理,以便切实地将这些数字转变为显示在计算机屏幕上的图像;但考虑到我们所感兴趣的详细程度,我们只要知道“在屏幕上移动矩形”这一过程确实只涉及更改计算机内存中的数据位就足够了。
变量和常量由于编程主要涉及更改计算机内存中的信息,因此在程序中需要一种方法来表示单条信息。
“变量”是一个名称,它代表计算机内存中的值。
在编写语句来处理值时,编写变量名来代替值;只要计算机看到程序中的变量名,就会查看自己的内存并使用在内存中找到的值。
例如,如果两个名为value1 和value2 的变量都包含一个数字,您可以编写如下语句以将这两个数字相加:value1 + value2在实际执行这些步骤时,计算机将查看每个变量中的值,并将它们相加。
ActionScript编程 访问加载中的数据
ActionScript编程访问加载中的数据作用:在数据加载时访问数据。
说明:使用URLLoader对象无法在加载进行时读取数据。
progress事件只是用于通知加载进度。
要在数据加载时访问数据,需要使用.URLStream类。
URLStream对象可以在下载过程中立即读取二进制数据。
只要数据一加载,便可以随即为应用程序使用,这和使用URLLoader对象时需要等到整个文件下载完不同。
另外,URLStream类还允许在完成下载前关闭流。
使用new运算符和URLStream()构造函数可以创建新的URLStream 对象,方法如下所示。
var stream:URLStream = new URLStream();URLStream对象可以获取或设置以下属性,详细介绍如下所示。
●bytesAvailable 返回可在输入缓冲区中读取的数据的字节数。
●connected 指示此URLStream对象目前是否已连接。
如果已连接URLStream对象,则调用该属性会返回值true,否则会返回值false。
●endian 指示数据的字节顺序。
可能的值为Endian.BIG_ENDIAN或Endian.LITTLE_ENDIAN。
●objectEncoding 在写入或读取对象时,控制所使用的Action MessageFormat(AMF)的版本。
取数据之前必须使用的数据。
如果不能获得足够的数据,将引发URLStream对象可以使用以下方法来实现加载数据、关闭数据流、读取数据流中数据的功能,详细介绍如下所示。
●close() 立即关闭该流并取消下载操作。
无法在调用close()方法后从该流中读取数据。
●load() 开始加载指定的URL。
该方法包含一个request参数,表示指定加载URL的URLRequest对象。
●readBoolean() 从该流读取一个布尔值。
读取单个字节,如果字节非零,则返回true,否则返回false。
ActionScript编程 加载和显示视频
ActionScript编程加载和显示视频作用:加载外部的FLV/F4V视频或视频流,并将视频显示到舞台中。
说明:Flash影片的播放器除了播放swf格式的Flash影片外,还可以播放各种FLV/F4V的视频。
虽然可以把视频内容嵌入到Flash影片中,但大多数Flash视频内容都是保存在单独的视频文件内,通过Flash影片的ActionScript脚本加载。
1.加载外部视频ActionScript脚本加载外部影片的好处是一个影片可以尽可能地加载多个视频,且发布的Flash影片体积非常小,便于快速加载,也便于用户管理。
多数Flash视频播放器都是通过XML或文本文档获取视频文件的路径,然后动态加载视频文件。
在加载Flash视频时,ActionScript3.0需要多个类一起运作。
用户必须首先实例化一个NetConnection对象,作为视频数据的来源。
然后,再实例化一个NetStream对象,将NetConnection对象传递给NetStream 对象,通过NetStream对象控制视频的播放。
最后,将NetStream对象中的数据实例化为Videa对象,完成视频的显示。
如果需要播放视频,则可以直接使用VideoStream类的play()方法,如下所示。
var VideoConnection:NetConnection=new NetConnection();VideoConnect.connect(null);var VideoStream:NetStream=new NetStream(VideoConnection);var VideoObject:Video=new Video();VideoObject.attachNetStream(VideoStream);stage.addChild(VideoObject);VideoStream.play(URL);在上面的代码中,各关键词的含义如下所示。
ActionScript编程 加载XML
ActionScript编程加载XML作用:从XML文档或产生XML的服务端脚本处加载XML数据。
说明:ActionScript除了可以读取内部创建的XML对象外,还可以通过加载URL地址读取外部的XML文件。
而加载后的XML文件,其可实现的操作与直接创建的XML对象相同,也包括读取、遍历和删除。
在读取外部XML文件时,需要使用包中的URLLoader 类以及URLRequest类。
在加载外部XML数据时,应先将一个字符串变量实例化,并将外部XML数据文件所在的路径赋给这个变量。
var xmlURL:String="example.xml";然后,应根据外部XML数据的路径创建一个针对该XML的请求对象。
var xmlRequest:URLRequest=new URLRequest(xmlURL);根据针对XML的请求,需要创建一个加载XML的实例。
var xmlLoader:URLLoader=new URLLoader(xmlRequest);在创建加载XML的实例后,为其添加侦听加载完成XML的事件监听器,以在加载完成后调用函数执行其它操作。
xmlLoader.addEventListener(PLETE,loadComplete);最后创建加载完成后实例化的XML对象。
function loadComplete(event:Event):void{var xml:XML=new XML(event.target.data);}示例:通过ActionScript加载外部一个名称为myXML的XML文件,并侦听该文件的加载完成事件。
当加载完成后,通过调用xmlLoaded()函数,将该文件的XML树结构显示出来,如下所示。
import flash.events.*;import .*;import flash.utils.*;//导入所需的类var xml:XML = new XML();var XML_URL:String = "myXML.xml";//外部XML文件的URL地址var myXMLURL:URLRequest = new URLRequest(XML_URL); var myLoader:URLLoader = new URLLoader(myXMLURL); myLoader.addEventListener(PLETE, xmlLoaded); function xmlLoaded(event:Event):void{try{xml = new XML(myLoader.data);//将下载的数据转换为XML实例trace(xml);}catch(event:TypeError){trace("加载XML文件失败!");trace(event.message);//输出加载失败信息}}。
大学_ActionScript3.0无基础入门教程_1
ActionScript3.0无基础入门教程ActionScript3.0入门教程:加载外部素材虽然说ActionScript2.0与ActionScript3.0熟练使用任意一门都可以,但是ActionScript3.0带来了许多新的.开发感受。
新时代的Flash已经开始向ActionScript3.0转型,许多新的Flash框架与Flash资料都是基于ActionScript3.0。
所以还是两门双修好勒。
ActionScript2.0的Helloworld已经在《【ActionScript】ActionScript2.0的Helloworld》(点击打开链接)中介绍过了。
下面开始介绍ActionScript3.0的Helloworld。
1、首先,打开Flash之后,新建ActionScript3.0文件,而不是ActionScript2.0。
其实两者在基本布局上面是没有区别的,关键是其脚本发生根本性的变化。
会ActionScript2.0的开发者,很容易就能转到ActionScript3.0上面来。
2、之后,通过窗口-组件,或者Ctrl+F7,或者通过右侧面板工具栏的“组件”按钮,打开“组件面板”。
这里面,Flash提供了许多向C#,VB等窗口控件。
在User Interface文件夹中拖入Button与Label,一个按钮,一个标签文本。
3、之后,调整这两个控件的属性。
对于按钮,赋予其实例名称为Button1。
其Label属性为“单击”。
对于标签文本,赋予其实例名册为"Label1",autoSize为Center居中,text的内容去掉。
4、之后,右击第1帧,打开动作面板,就可以写代码。
在动作面板写入如下代码:[javascript] view plain copy print?//定义一个字符串str,其值为Hello worldvar str:String="Hello world";//定义一个函数,为clickEventvar clickEvent:Function=function(){//此函数触发之后,把Label1的文本改成strLabel1.text= str;//然后向控制台输出strtrace(str);}//之后为Button1添加点击事件的监听器,为clickEvent这个函数Button1.addEventListener("click",clickEvent);按Ctrl+Enter编译之后,得到如下的效果:按钮被点击之后,标签文本的值变为Hello world,同时控制台中输出一个Helloworld。
ActionScript3网络通信简析
ActionScript3网络通信简析摘要:ActionScript3中的网络通信方式和之前的语言彻底不同,它的实现机制也有了根本的改变。
在ActionScript2中,加载数据的方法零零碎碎分散在全局函数、LoadVars、XML等许多地方,调用的方式也是五花八门,难学、难记、难用。
在ActionScript3中,将所有与外部数据交互的功能都集中到了.*包中,由专门的类来管理,实现的流程标准、统一,ActionScript3网络通信API的使用变得前所未有的简单,另外还内嵌了多种事件支持,对通信过程的控制也比以前更加精确。
关键词:Actionscript3;网络通信稍复杂的ActionScript3网络应用程序,一般都会涉及到加载外部数据或与服务器端脚本相互通信。
ActionScript3对网络通信的支持空前强大,目前主流的网络数据交互方式几乎全部支持。
粗略的说,ActionScript3把一个成功的网络通信抽象成以下过程:①构建通信请求对象(URLRequest)。
②使用通信请求对象,构建URLLoader对象,并发出数据请求。
③数据收到之后,发出完成事件,调用“读取完成”事件的侦听器处理返回的数据。
这里有一个要点:提交的数据放在URLRequest对象中,读取到的数据放在URLloader对象中。
这3个过程是相互独立的,耦合度较低。
通信请求对象只负责构建请求的内容,它建立时并不知道何时会被URLLoader对象接纳并开始发送请求;而URLLoader对象只管发送请求和事件,并不知道自己发送的请求对象内容是什么,也不知道数据返回之后会有什么样的操作;“加载完成”事件侦听器函数中只知道完成后要干什么,不知道自己什么时候才会侦听到事件。
3个重要部分的分离,给编程带来了安全性和灵活性。
ActionScr-ipt3的架构设计经常能给我们以贴心和惊喜。
要建立一个成功的通信请求,通信请求对象必须含有足够的信息,必须知道要向谁请求、通过什么方式、有没有要提交的数据。
从ActionScript2.0迁移到ActionScript3.0:主要概念和变化
本文主要提供一些关键概念的总结, 以帮助你把你把应用程序迁移到ActionScript 3.0。
在我刚刚开始使用ActionScript 3.0来创建程序的时候, 最困难的部份就是如何去适应那些我已经使用了多年的简单命令的改变。
attachMovie 方法究竟跑到哪儿去了? MovieClip类里面的东西又去了哪? 这一切使我感到犹如要重新学习走路一样痛苦。
在过去的两年间, 我全情投入了ActionScript 3.0 SWF及Adobe AIR应用程序的开发工作。
我曾经欢笑, 曾经哭泣, 也曾经数次因为不愉快而击墙。
但到了最后, 我可以告诉你, 现在我真的很难去想象ActionScript 2.0的时代。
在一般层面上来说, ActionScript 3.0最大的优点就是所有东西都变得标准化。
这里只有一个方法去创建实例, 只有一个方法去处理事件。
如果你是刚刚开始学习ActionScript编程, 你可能要作更多的学习, 但它比以前变得同时更容易学习和上手了。
在本文中, 你将会找到有关ActionScript 3.0的改变的有关提示及注意事项, 其中包括以下几方面:1.处理影片剪辑组件2.处理事件3.加载数据, 内容及元件实例4.处理XML5.使用ActionScript 3.0来创建对象类想要最有最有效地阅读本文, 你应该先对ActionScript 2.0及Adobe Flash CS4 Professional有一定程度的了解。
目录[隐藏]∙ 1 处理影片剪辑组件o 1.1 影片剪辑组件现在变成显示对象o 1.2 巢式时间轴现在变成显示列表o 1.3 实例的验证o 1.4 影片剪辑组件属性的变化o 1.5 this, _root, _parent和_global的使用o 1.6 深度管理o 1.7 绘图API的使用∙ 2 处理事件o 2.1 相同的事件处理方式o 2.2 显示列表上的事件流o 2.3 currentTarget和target事件属性的使用∙ 3 加载数据,内容和元件实例o 3.1 加载图片和swfo 3.2 加载服务器数据o 3.3 准确加载元件o 3.4 动态加载元件实例o 3.5 加载URL∙ 4 使用XMLo 4.1 加载XMLo 4.2 用ActionScript书写XMLo 4.3 使用点语法来处理XMLList对象o 4.4 不用循环来过滤XMLo 4.5 获取XML属性∙ 5 在ActionScript 3.0中构建对象o 5.1 package关键字o 5.2 新类的属性关键字∙ 6 使用文档类∙7 想了解更多处理影片剪辑组件以下来这个章节将会描述在ActionScript 3.0中, 影片剪辑组件的一些重要变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ActionScript编程加载服务端程序数据
作用:
获取服务器端程序中输出的数据,并将这些内容加载到应用程序。
说明:
除了可以加载外部文本文件中的内容外,还可以加载服务器端程序执行后输出的内容。
这些内容的形式与文本文件相同,可以是纯文本,也可以是名值对(包括以&连接符号连接起来的多组名值对)。
与获取文本文件中的数据一样,要读取服务器端程序文件执行完毕后的数据,同样要先创建URLRequest对象和URLLoader对象,然后使用URLLoader对象加载被指定了程序文件路径的URLRequest对象。
当数据加载完成后,同样使用“event.target.data”来获取返回的数据。
var request:URLRequest=new URLRequest("http://127.0.0.1/example.asp");
var loader:URLLoader = new URLLoader();
loader.load(request);
loader.addEventListener(PLETE,onComplete);
function onComplete(event:Event):void {
trace(event.target.data);
//输出加载的内容
}
如果加载的数据中包含有多组名值对,且不知道这些变量的名称,想要读取每一个变量的值,可以使用for…in语句遍历所有已载入的变量,其基本形式如下所示。
var variables:URLVariables = URLVariables(event.target.data);
for (var property:String in variables){
trace(property + "=" + variables[property]);
}
在for…in语句中,将所有的属性名称存储在property变量中,而值的取出方式就是以property查找data。
输出为
示例:
以本机为测试服务器,在网站的根目录中存在一个名称myTxt的ASP网页,该网页通过程序将包括有名值对的文本内容输出。
然后,在ActionScript程序中,使用URLLoader对象加载包含有网页URL地址的URLRequest对象,获取网页中显示的文本内容,并通过循环遍历将所有变量的值显示在文本字段中,如下所示。
ASP网页:
<%Response.Write("name=Jun&sex=Male&age=24&birthday=1985.6")%>
ActionScript程序:
import .URLRequest;
import .URLLoader;
import .URLVariables;
import flash.events.Event;
import flash.events.IOErrorEvent;
//导入所需的类
var field:TextField = new TextField();
field.wordWrap=true;
field.autoSize=TextFieldAutoSize.LEFT;
field.border=true;
addChild(field);
var request:URLRequest=new URLRequest("http://127.0.0.1/myTxt.asp");
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(request);
loader.addEventListener(PLETE,onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR,onIoError);
function onComplete(event:Event):void {
var variables:URLVariables = URLVariables(event.target.data); //将获取的文本数据转换为URLVariables对象
for(var property:String in variables){
var value:String = variables[property]
field.appendText(property + "=" + value + "\n");
}
}
function onIoError(event:IOErrorEvent):void {
trace("加载错误:" + event);
}。