ActionScript视觉编程

合集下载

ActionScript编程RIA概述

ActionScript编程RIA概述

ActionScript编程RIA概述ActionScript编程 RIA概述说明:自1993年第一个可显示图像的浏览器Mosaic出现以来,互联网及其相关的计算机技术已有了突飞猛进的发展。

以网页技术为例,早期的网页只能显示16色的图像以及一些简单的文本。

而如今,网页已经发展为涵盖文本、图像、声音、视频、动画的综合性人机接口。

1.传统网页应用的弊端在传统的网络应用程序中,所有处理操作均在服务器端执行,客户端仅仅是用于显示静态的信息内容(如HTML)。

这样的网络应用程序系统被称作瘦客户端系统。

这种系统最大的缺陷是所有的交互操作都必须经由服务器端进行。

例如,在一个典型的交互过程中,首先,客户端要将请求数据上传至服务器端,然后,服务器端作出响应并传回结果,最后,客户端在重载响应信息。

在早期网络应用种类并不丰富时,这种瘦客户端的系统勉强可以满足应用的需要。

而随着互联网技术的发展,网络应用的种类日新月异,再加上随着互联网人群的增多,网络日渐拥塞,这种系统使服务器的负担越来越重,而服务端于客户端之间的冗废的通信数据也占用了大量的网络资源。

在各种复杂的网络应用中(例如多媒体点播、即时通信等),瘦客户端系统使得用户在使用时不得不面对更缓慢的响应速度,以及由于传输大量废数据而造成的错误。

2.RIA技术的由来在过去的数年中,Web开发人员迫切地需要一种表现更丰富,占用系统资源更小、反应更灵敏、运行更高效的用户接口。

然后,将大部分处理任务都从服务端移植到客户端,仅保留一些必要数据与服务器端进行信息交互,尽可能地提高响应速度和用户体验。

于是,2003年的3月,Macromedia公司在一份企业发展白皮书中,提出了RIA的概念,即丰富的互联网应用(Rich Internet Applications),。

ActionScript编程 应用发光滤镜

ActionScript编程  应用发光滤镜

ActionScript编程应用发光滤镜说明:在ActionScript中,允许用户使用flash.filters包中的GlowFilter滤镜,为显示对象添加均匀的外发光、内发光等效果,柔化显示对象的边缘。

发光滤镜与投影滤镜类似,都拥有复杂的参数,如下所示。

var GlowObject:GlowFilter=new GlowFilter(Color,Alpha,BlurX,BlurY,Strength,Quality,Inner,Knockout) 在上面的代码中,各关键词的含义如下所示。

●GlowObject 发光滤镜对象的实例名称●Color 发光的颜色,6位或8位16进制非负整数,默认值为0xFF000000●Alpha 发光的透明度,不小于0且不超过1的浮点数,默认值为1●BlurX 水平方向的模糊值,单位为像素,默认值为4●BlurY垂直方向的模糊值,单位为像素,默认值为4●Strength 发光滤镜的强度,无单位,有效值为0到255,默认值为1●Quality 发光滤镜的品质,无单位,有效值为0到255,默认值为1●Inner 定义发光滤镜是否为内侧发光,逻辑型数据,默认值为false●Knockout 定义发光滤镜是否为镂空效果,逻辑型数据,默认值为false发光滤镜与投影滤镜最大的区别在于,投影滤镜是针对某个角度的,而发光滤镜则不需要定义模糊的角度,只会均匀地向整个圆周散布模糊的色彩。

示例:在Flash中绘制一个黄色的12角星形,然后就可以通过发光滤镜和计时函数,制作鼠标单击星形发光的动画。

首先,将星形转换为影片剪辑元件,将其为ActionScript导出,并设置类为star。

然后,在影片第1帧出按F9快捷键,在弹出的【动作】面板中编写代码,如下所示。

var _star:star=new star();//实例化星形元件_star.x=275;_star.y=200;//定义星形元件的坐标stage.addChild(_star);//将星形元件添加到舞台中var showID:uint=0;//实例化计时函数的编号_star.addEventListener(MouseEvent.CLICK,starFlash);//为星形元件添加鼠标单击事件function starFlash(event:MouseEvent=null):void {//定义鼠标单击星形元件后的事件函数showID=setInterval(showStar,100);//执行计时函数,定时调用showStar()函数}var blur:uint=1;//定义星形元件初始的模糊度function showStar():void {//自定义showStar()函数if(blur<=20){//判断,当模糊度小于20时blur++;//模糊度递增}var glowObject:GlowFilter=new GlowFilter(0xcccc00,1,blur,blur,2,1,false,false);//实例化发光滤镜的对象_star.filters=[glowObject];//将发光滤镜添加到舞台中if (blur>=20) {//判断当发光滤镜的模糊度大于20时clearInterval(showID);//清除计时函数}}。

ActionScript工具书

ActionScript工具书

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等。

项目八ActionScript动画编程

项目八ActionScript动画编程
ActionScript动画编程
ActionScript DONG HUA BIAN CHENG
主 讲 :
项目八
ActionScript动画编程
项目八:
ActionScript 动画编程
任务一 任务二 任务三 实 小 训 结
任务一 初识ActionScript 任务二 创建简单交互动画 任务三 ActionScript交互动画进阶
思考与练习
项目八:
ActionScript 动画编程
任务一 任务二 任务三 实 小 训 结
• 制作一个按钮控制文本翻动效果,如图所 示。
【设计效果】
本例将制作与系统时间完全同步的机械 手表,如图所示 。
任务二 创建简单交互动画
操作一
制作“自动走时的机械手表”
项目八:
ActionScript 动画编程
任务一 任务二 任务三 实 小 训 结
【设计思路】
•创建表盘元件。 •创建时针元件、分针元件和秒针元件。 •将绘制好的元件放置在舞台上的合适位 置。 •输入代码实现机械手表效果。
【设计思路】
•在舞台中绘制一个背景。 •绘制雪花的形状。 •添加脚本语言。
任务三
操作二
ActionScript进阶
制作“雪花飘落特效”
项目八:
ActionScript 动画编程
任务一 任务二 任务三 实 小 训 结
视频:制作“雪花飘落特效” 制作“雪花飘落特效”的大致过程如下: ① 创建影片。 ② 导入背景图和绘制雪花图形。 ③ 添加动作脚本。
项目八
教学目标: 项目八:
ActionScript 动画编程
任务一 任务二 任务三 实 小 训 结
ActionScript动画编程

ActionScript编程 应用颜色矩阵滤镜

ActionScript编程  应用颜色矩阵滤镜

ActionScript编程应用颜色矩阵滤镜作用:通过一个多维数组(矩阵)的元素来定义显示对象的饱和度、亮度、透明度等属性,对显示对象的颜色进行操作。

说明:在很多图像处理软件中,都可以修改图像的饱和度、亮度、透明度等属性,对图像的颜色进行优化。

例如,在Flash界面的操作中,就提供了【改变颜色】滤镜实现这一功能。

在ActionScript3.0中,支持通过flash.filters包中的颜色矩阵(ColorMatrixFilter)类滤镜实现同样的功能。

ColorMatrixFilter类的原理是通过一个由4个5元素组成的二维数组(矩阵)定义输入到图像中的每个像素颜色块,修改其RGB值和Alpha值以实现饱和度、亮度、透明度及色相旋转等效果。

使用ColorMatrixFilter滤镜的方法如下所示。

var ColorMatrixObject:ColorMatrixFilter=new ColorMatrixFilter(Matrix);在上面的代码中,各关键词含义如下所示。

●ColorMatrixObject 颜色矩阵滤镜对象的实例名称●Matrix 定义颜色矩阵滤镜的矩阵颜色矩阵(ColorMatrixFilter)滤镜将每个源像素分离成它的红色、绿色、蓝色和Alpha成分,分别以srcR、srcG、srcB和srcA表示。

如果要计算四个通道中每个通道的结果,可将图像中每个像素的值乘以转换矩阵中的值。

滤镜将各颜色成分重新组合为单一像素,并写出结果。

一个典型的颜色矩阵公式如下所示。

RedResult=SrcR+SrcG+SrcB+SrcAGreenResult=SrcR+SrcG+SrcB+SrcABlueResult=SrcR+SrcG+SrcB+SrcAAlphaResult=SrcR+SrcG+SrcB+SrcA在上面的代码中,各关键词的含义如下所示。

●RedResult、GreenResult、BlueResult和AlphaResult 最终输出到图像的结果●SrcR、SrcG、SrcB和SrcA 每个通道中的颜色成分颜色矩阵滤镜的Matrix参数就是提供一个由4个5元素组成的二维数组(矩阵),其中,每个子数组由4个源像素的因数以及一个偏移量组成,如下所示。

ActionScript编程 绘图代码编写技巧

ActionScript编程  绘图代码编写技巧

ActionScript编程绘图代码编写技巧如果要使用Graphics类的方法,首先要创建显示实例,由于主时间轴是MovieClip类的实例,在编写测试绘制代码时,可在主时间直接进行。

但在实际应用中,绘图最好放在单独的Shape类中,如果图形很复杂,可创建显示容器来放置图形。

下面的示例直接在主时间轴绘制直线:this.graphics.lineStyle(1);//定义线条样式this.graphics.moveTo(100,100);//定义线条起点this.graphics.lineTo(200,200);//定义线条终点上面代码中的this引用主时间轴,所以this具有graphics属性,通过点语法就可以访问graphics属性。

同时,graphics属性又引用Graphics类的实例,通过点语法就可以调用该实例的方法。

如果上面的类似代码很多,需要重复编写“this.graphics”这样的代码,而且,点语法的运往不是很快。

因此需要对该段代码进行优化。

例如,通过创建with语句来简化上面的代码,如下所示。

with (this.graphics){lineStyle(1);moveTo(100,100);lineTo(200,200);}利用with语句,只需要访问一次this.graphics属性,就可以多次调用绘图方法。

同样,也可以使用自定义函数来简化,如下所示。

drawLine(this.graphics);function drawLine(g:Graphics):void{g.lineStyle(1);g.moveTo(100,100);g.lineTo(200,200);}在上面的示例中定义了drawLine()函数,它带有数据类型为Graphics的参数,表示该参数是Graphics类的实例,通过实例和点语法就可以调用相应的绘制方法。

在调用函数时,只需要传递引用Graphics类的实例的属性。

ActionScript编程应用颜色矩阵滤镜

ActionScript编程应用颜色矩阵滤镜ActionScript编程应用颜色矩阵滤镜作用:通过一个多维数组(矩阵)的元素来定义显示对象的饱和度、亮度、透明度等属性,对显示对象的颜色进行操作。

说明:在很多图像处理软件中,都可以修改图像的饱和度、亮度、透明度等属性,对图像的颜色进行优化。

例如,在Flash界面的操作中,就提供了【改变颜色】滤镜实现这一功能。

在ActionScript3.0中,支持通过flash.filters包中的颜色矩阵(ColorMatrixFilter)类滤镜实现同样的功能。

ColorMatrixFilter类的原理是通过一个由4个5元素组成的二维数组(矩阵)定义输入到图像中的每个像素颜色块,修改其RGB值和Alpha值以实现饱和度、亮度、透明度及色相旋转等效果。

使用ColorMatrixFilter滤镜的方法如下所示。

var ColorMatrixObject:ColorMatrixFilter=new ColorMatrixFilter(Matrix);在上面的代码中,各关键词含义如下所示。

●ColorMatrixObject 颜色矩阵滤镜对象的实例名称●Matrix 定义颜色矩阵滤镜的矩阵颜色矩阵(ColorMatrixFilter)滤镜将每个源像素分离成它的红色、绿色、蓝色和Alpha成分,分别以srcR、srcG、srcB和srcA表示。

如果要计算四个通道中每个通道的结果,可将图像中每个像素的值乘以转换矩阵中的值。

滤镜将各颜色成分重新组合为单一像素,并写出结果。

一个典型的颜色矩阵公式如下所示。

RedResult=SrcR+SrcG+SrcB+SrcAGreenResult=SrcR+SrcG+SrcB+SrcABlueResult=SrcR+SrcG+SrcB+SrcAAlphaResult=SrcR+SrcG+SrcB+SrcA在上面的代码中,各关键词的含义如下所示。

ActionScript编程 实战项目:产品展示动画

ActionScript编程实战项目:产品展示动画ActionScript3.0提供了多种强大的滤镜,可以使影片中的元件更加美观。

使用这些滤镜,可以方便地对图像进行复杂地处理,实现图像的切换特效。

例如,使用发光滤镜为产品展示动画添加鼠标滑过特效,以及产品切换的动画等,如图22-7所示。

图22-7 产品展示动画制作过程:(1)在Flash影片中,导入背景图像和显示产品的边框,然后分别将其为ActionScript导出,如图22-8所示。

图22-8 导入背景图像素材其backgroundImage框则为(2)用相同的方法导入展示的6种产品的缩略图以及完整的图像,并将其为ActionScript导出,如图22-9所示。

图22-9 导入产品图像其中,到product00s(3)从【组件】面板导入Label标签,然后即可在Flash影片所在目录创建classes目录,并在classes目录中创建main.as。

为影片添加文档类为classes.main之后,即可在main.as文件中编写代码,如下所示。

package classes{import flash.display.Sprite;import flash.display.MovieClip;import flash.events.MouseEvent;import flash.utils.setInterval;import flash.utils.clearInterval;import flash.text.TextFormat;import flash.display.Bitmap;import flash.display.BitmapData;import flash.filters.ColorMatrixFilter;import flash.filters.GlowFilter;import bel;}(4)创建名为main的主自定义类,并在类中实例化影片所使用的各种对象,如下所示。

毕业设计论文《ActionScript视频播放器》计算机专业计算机应用技术

毕业设计(论文)I 摘要在多媒体技术高速发展的今天,多媒体播放器出现了多种缺点和毛病,主要表现在内存大量占用和操作复杂繁琐方面。

本文针对当今流行视频播放器的优缺点进行了研究,然后在此基础上进行综合和总结,开发出了一个功能丰富和操作简易的视频播放器,该播放器具有低内存占用和绿色无广告的特点,因此具有广阔的市场前景。

本视频播放器是基于脚本语言ActionScript3.0,利用Adobe Adobe Flash Flash Flash CS4CS4设计开发完成。

Flash Flash CS4CS4是一种功能非常强大的工具,可以将视频添加到基于Web 的应用程序中。

Flash 的FL V 和F4V 视频格式具备技术和创意优势,允许将视频、数据、图形、声音和交互式控制融为一体。

结合ActionScript 3.0 的脚本绘图技术以及数组技术,的脚本绘图技术以及数组技术,可以方便地制作出媲美专业水平的视频播可以方便地制作出媲美专业水平的视频播放器。

本次设计就将利用Flash Flash CS4CS4制作一个可以进行列表选择、音量控制、进度控制的视频播放器。

本次设计主要利用Actionscript3.0作为后台逻辑处理和功能实现,文中对视频播放器做了详细的需求分析,并详细介绍了视频播放器的总体设计,包括视频播放器的架构设计、功能模块的划分、视频播放列表文件的设计、常用工具的设计、本地数据存储设计等,然后具体介绍了以上各个部分和功能的具体实现原理和过程,最后再对该视频播放器进行测试,没有重大的异常和错误,证明其设计方案的可行性和正确性。

关键词:ActionScript3.0 脚本绘图数组技术低内存占用毕业设计(论文)AbstractWith the rapid improving of the times and the rapid development of network technology, multimedia technology keeps pace with the times. As sustained rapid development in multimedia technology, a variety of shortcomings and faults are emerged in multimedia player, mainly in the occupation of memory and the complication of the operation. This article analyze the advantages and disadvantages of the current popular multimedia player then developed a video player with low memory footprint and without advertisements based on this, so it will get a broad market prospects. prospects. The The The video video video on on on demand demand demand system system system is is is based based based on on on the the the scripting scripting scripting language language language ActionScript ActionScript ActionScript 3.0, 3.0, design and development with Adobe Flash CS4 completed. Flash CS4 is a very powerful tool, you you can can can add add add video video video to to to a a a Web-based Web-based Web-based application. application. application. Flash Flash Flash to to to FL V FL V and and and F4V F4V F4V video video video formats formats formats with with technical technical and and and creative creative creative advantages, advantages, advantages, allows allows allows video, video, video, data, data, data, graphics, graphics, graphics, sound, sound, sound, and and and interactive interactive interactive control control integration. Combined Combined with with with ActionScript ActionScript ActionScript 3.0 3.0 3.0 scripting scripting scripting graphics graphics graphics technology technology technology and and and an an an array array array of of technology, you can easily produce professional level comparable video player. The design will use use Adobe Adobe Adobe Flash Flash Flash CS4 CS4 CS4 can can can produce produce produce a a a list list list of of of selection, selection, selection, volume volume volume control, control, control, schedule schedule schedule control control control of of of the the video player. Actionscript3.0 is main used to handle the logic and to realize the function, then a detailed requirement analysis is make and introduces the general design of the video player. Include the architecture design, the functional modules divided, the design of video play list file, the design of tools, the local data storage design and so on, and then introduced the specific implementation principle and process of the above every part and function. In this paper, the design of the music on-demand system is tested by the black box and white box, no major anomalies and errors, to prove the feasibility and correctness of its design. Key word :ActionScript3.0 Script Graphics Array Technology Low Memory-occupation 毕业设计(论文)目 录第1章 绪论绪论 ................................................................. ................................................................ 1 11.1 1.1 课题来源及开发背景课题来源及开发背景课题来源及开发背景 .................................................. .................................................. 1 11.2 1.2 研究目的及意义研究目的及意义研究目的及意义 ...................................................... ...................................................... 1 1 1.3 1.3 开发工具及运行环境开发工具及运行环境开发工具及运行环境 .................................................. .................................................. 1 11.3.1 Flash .......................................................... ......................................................... 1 11.3.2 1.3.2 开发语言开发语言开发语言 ....................................................... ...................................................... 2 21.3.3 1.3.3 运行环境运行环境运行环境 ....................................................... ...................................................... 3 3第2章 需求分析需求分析 ............................................................. ............................................................ 4 42.1 2.1 本视频播放器的研究内容和关键技术本视频播放器的研究内容和关键技术本视频播放器的研究内容和关键技术 .................................... .................................... 4 4 2.1.1 2.1.1 视频格式视频格式视频格式 ....................................................... ...................................................... 4 42.2 2.2 故障分析故障分析故障分析 ............................................................ ............................................................ 5 52.2.1 2.2.1 系统利用率系统利用率系统利用率 ..................................................... .................................................... 5 52.2.2 2.2.2 可靠性可靠性可靠性 ......................................................... ........................................................ 5 52.3 2.3 播放器的初步开发实施方案播放器的初步开发实施方案播放器的初步开发实施方案 ............................................ ............................................ 5 5 2.4 2.4 功能划分功能划分功能划分 ............................................................ ............................................................ 5 52.5 2.5 用例表用例表用例表 .............................................................. .............................................................. 6 6第3章 概要设计概要设计 ............................................................. ............................................................ 8 83.1 3.1 总题设计总题设计总题设计 ............................................................ ............................................................ 8 83.2 3.2 外观设计外观设计外观设计 ............................................................ ............................................................ 9 93.3 3.3 总体功能设计总体功能设计总体功能设计 ........................................................ ........................................................ 9 9 3.4 3.4 主要功能介绍主要功能介绍主要功能介绍 ....................................................... ....................................................... 10 10第4章 数据库设计数据库设计 .......................................................... ......................................................... 11 114.1 4.1 播放列表(播放列表(播放列表(XML XML 文件)结构文件)结构 ............................................ ........................................... 11 114.2 XML 书写格式书写格式 ........................................................ ....................................................... 12 124.3 4.3 播放器数据存储的数据结构设计播放器数据存储的数据结构设计播放器数据存储的数据结构设计 ....................................... ....................................... 12 12第5章 详细设计详细设计 ............................................................ ........................................................... 14 145.1 5.1 播放器外观设计播放器外观设计播放器外观设计 ..................................................... ..................................................... 14 145.2 5.2 视频播放器主要模块视频播放器主要模块视频播放器主要模块 ................................................. ................................................. 15 155.2.1 5.2.1 舞台设计舞台设计舞台设计 ...................................................... ..................................................... 15 155.2.2 5.2.2 按钮制作按钮制作按钮制作 ...................................................... ..................................................... 16 165.2.3 5.2.3 主界面主要源代码主界面主要源代码主界面主要源代码 ............................................. ............................................. 17 17 5.3 5.3 系统测试系统测试系统测试 ........................................................... ........................................................... 23 23总结与展望总结与展望 ................................................................. ................................................................ 24 24致 谢 ...................................................................... ..................................................................... 25 25参考文献参考文献 ................................................................... (2626)毕业设计(论文)第1章 绪论1.1 课题来源及开发背景随着教育信息化的发展,Flash 的使用越来越受重视。

Flash教程 第八章 ActionScript编程


实例:set ( "x" , 10 )
set ( "c" + i , x )
注意:第一个参数的变量或对象名需用双引 号作定界符
前一页 下一页
休息 15
控制结构
直接赋值
例: x = 10
赋 值 语 句
注意:
两种形式性质相同,一般可替换:
观察变量赋值情况
“控制”-“测试场景” “调试”-“参数列表”从output窗口中
注意:如果动作脚本与实例不在同一时间轴,必

须在实例名前加上路径

例:_root . fly . _alpha = mc // 设置主时间轴中的fly实例的alpha属性

_root . mosq . fly . _alpha = 50

// mosq 是 fly 的父剪辑
实例:
影片剪辑的属性
前一页 下一页
如:getVersion( ) 获得当前FLASH版本
前一页 下一页
休息 21
函数的使用
常用通用函数
eval(variable ):获取指定变量的值 true:得到“真” false:得到“假”
函 Newline:插入新的一行 数 getTimer:得到系统当前时间
getVersion:显示播放时所用Flash版本 random( number):产生0到 number – 1 间的
随机整数。
前一页 下一页
休息 22
函数的使用
常用字符串函数
substring( string, index, count ):取 string 字 符串的子串,从 index 开始取 count 个字符。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自定义容器
添加、删除显示对象
• 添加流程:当一个Flash运行时,先启动生 成Stage容器对象。再自动生成一个子显示 对象,该对象一般默认继承自Sprite。其他 显示对象按照代码执行顺序逐一添加 • addChild:容器对象.addChild(显示对象) • removeChild:容器对象.removeChild(显示对 象) • contains:容器对象.contains(显示对象)
视觉编程
显示对象
显示对象概念
• 显示对象:DisplayObject,在舞台上显示的可视元 素 • 显示对象容器:装载显示对象的容器,显示对象可 以看做该容器的子对象。在AS中,只有容器才拥有 管理子对象的方法,非容器对象没有。 • 舞台:Stage,最根本的显示对象容器,包含当前 swf所有的显示对象,每个flash应用程序只能有一个 舞台容器,舞台也是整个对象树结构的根节点 • 文档类:Document Class,swf的主类。如果有Flash CS生成的且没有指定的文档类,默认的 MainTimeLine类就是主类
位图矢量图区别
• 矢量图体积小,比较消耗计算资源;
• 位图比较消耗内存资源,但对计算机消耗 小。 • 通常游戏内使用的资源都是位图
位图创建
• 演示
位图在游戏中主要应用
• 地图绘制 • 人物绘制
遮罩
• mask。当一个现实对象A和像是对象B重叠, 只希望显示对象B显示出和A的重叠部分, 并且不显示A对象。我们称显示对象A是现 实对象B的遮罩(蒙板) • 常用于游戏内特殊形状进度条的绘制 • 演示
矢量图
• Graphics对象:用来绘制矢量图,非显示对象, 直接继承自Object。无法用代码创建Graphics对 象,没有办法调用它的构造函数。Graphics对 象只能有AS内建的显示对象创建并调用。 • AS3中有Graphic对象的DisplayObject子类有3个: Shape,Sprite,MovieClip。绘制方法相同。使 用Sprite绘制出的图形不是Shape对象,也不是 Sprite的子对象。相当于背景图 • 演示
位图
• 像素(Pixel)组成的图形。放大后会失真 • Bitmap:位图类 • BitmapData:存储位图像素信息的类。不是 显示对象,直接继承自Object。是Bitmap的 属性。类似二维数组,存储每个像素的颜 色值。这个颜色值是一个32位的ARGB值, uint类型。如0xFF669900
第二大层次
• 是否可容纳其他显示对象。是 InteractiveObject的下一层
– 可容纳的称为容器DisplayObjectContainer 。如 Stage,Sprite,Loader等。 – 不可容纳的称为非容器。如动态文本框 TextFiled,简单按钮SimpleButton。
• 所有的第二大层次里的对象均为可互动对 象,即可接收鼠标事件
滤镜
• filter:给显示对象制造丰富的效果,模糊, 发光,投影等
– BlurFilter 将模糊视觉效果应用于显示对象 – DropShadowFilter 向显示对象添加投影。 – GlowFilter 对显示对象应用发光效果。 – GradientBevelFilter 对显示对象应用渐变斜角效 果。 – GradientGlowFilter 显示对象应用渐变发光效果。
视觉架构类图
显示对象基本可视属性
常用非可视属性
• • • • name parent stage mask
显示对象抽象父类
• DisplayObject:抽象类,构造函数不能被调 用,从而不可被实例化。只能实例化它的 子类,操作它子类的对象。AS中不支持创 建抽象类
矢量图与位图
矢量图
• 在数学上定义为一系列由线连接的点。矢量图 中每个图形元素称为对象。每个对象都是一个 独立的实体,它具有颜色、形状、轮廓、大小 和屏幕位置等属性。基于矢量的绘图同分辨率 无关。矢量图以几何图形居多,图形可以无限 放大,不变色,不模糊。 • Shape是用来绘制简单矢量图的类。绘制复杂 矢量图,需要绘制许多Shape对象,再用容器 来管理
添加、删除显示对象注意点
• 显示对象的状态独立于显示列表:坐标, 透明度等属性,被设置后无论是否添加到 显示列表中都存在 • 显示对象的坐标属性是相对坐标不是绝对 坐标:子对象相对于父容器的坐标
• 同一个显示对象不论被代码加入显示列表 多少次,在屏幕上只会有一个显示对象 • 演示
深度管理
• 深度:容器中的同级显示对象从前到后的 叠放次序。 • 容器添加子对象时索引值从0开始增加。 • 添加删除对象指定索引值:
滤镜效果图
容器
容器概念
• DisplayObjectContainer可以放进其他显示对 象的就是容器。容器本身也是显示对象的 子类 • 容器不仅要负责提供访问、添加、删除子 对象的功能,还不许具有管理对象叠放次 序的功能(深度),即显示对象间的遮挡 关系 • 子类:Sprite、MovieClip、Loader、Stage
基类DisplayObjectContainer
• 抽象类,不能被实例化 • 基本属性及方法:
– 子显示对象的数目:numberChildren – 访问子对象的方法:getChildAt, getChildByName等 – 设置叠放次序:setChildIndex等
最轻量容器:Sprite
• 只添加了少量的属性和方法,多与鼠标互 动有关。最接近DisplayObjectContainer的子 类。不支持时间轴
– 容器对象.setChildIndex(显示对象, 指定深度); – 置顶:容器对象.setChildIndex(显示对象A, (容器 对象.numChildren) - 1); – 置底:容器对象.setChildIndex(显示对象A,0);
访问和遍历容器子显示对象
• 通过深度访问
– 容器对象.getChildAt(深度);
显示列表
一个统一,两个层次
• 一个统一:所有的显示对象都统一于 DisplyObject类。所有显示对象都是其子类 的实例。
第一大层次
• 是否可接受互动事件。
– 可接受互动事件称为可互动的显示对 InteractiveObject。是指能够接受鼠标单击、键 盘敲击等人机交互事件如按钮,MovieClip,UI 组件,文本框等。 – 不可接受的,称谓非互动显示对象,如单纯的 矢量图形Shape,位图Bitmap,视频Video等。
– 容器对象.addChildAt(显示对象, 深度索引值); – 容器对象.removeChildAt(深度);
• 交换不同深度的对象:
– 容器对象.swapChildren(显示对象A, 显示对象B); – 容器对象.swapChildren(深度A, 深度B);
深度管理
• 重设列表中已有的对象深度:setChildIndex
• 通过名字访问
– 容器对象.getChildByName(“显示对象name”);来自访问和遍历容器子显示对象
• 遍历:
上机题目
• 加载一系列地图块,拼成一张完整的地图 • 鼠标点击舞台后变成黑白相间的格子
相关文档
最新文档