actionscript基础代码

合集下载

第十三章:Action Script

第十三章:Action Script
2、变量(variable) :
1、存放信息的容器,用来对所需的数据资料进行暂时的储存 2、在程序运行过程中,其值会发生变化的。 变量的定义(变量的命名/变量声明):
Var 变量名=初值; 或 变量名=初值;(局部变量)
例如:
var newdate=10;
例如:newdate=10; 例如:
var count: Number=10;
26
英语单词学习

visible可见度 root根目录 text文本 data数据 number数字 string一串,一 行,字符串 on在…之时 trace跟踪,追踪





program程序 Boolean布尔 true真 false假 field田野,域,字 段 function 功能; 作 用; 职责;函数;

布尔(Boolean)

9
任务三:ActionScript代码
5、运算符 :


与一般的编程语言相同,AS也使用运算符。 运算符是执行计算的特殊符号,它具有一个或多个操作数,并返 回相应的值。 常用运算符:

算术运算符+、-、*、 /、++、- - 、%(求模) 赋值运算符
=、+=、-=、*=、/=、%=

2、关键字(参见214页)
AS中用于执行一项特定操作的单词,不能用作标识符 例:Var关键字用于声明变量。(不能用作标识符例如:变量,函数或 标签名称)

3、常量

无法改变的固定的值,例如PI(Math.PI)
11
任务三: ActionScript基本语法
4、AS中的语法 :

09 ActionScript 2.0基础编程

09 ActionScript 2.0基础编程

9.1.2
ActionScript 2.0语法规则 语法规则
一、运算符和表达式。 运算符和表达式。 (1)运算符 。 ) 表9-1
比较操作符 操作符 < > <= >= 操作 小于 大于 小于等于 大于等于 算术操作符 操作符 + * / 操作 加 减 乖 除
运算符
逻辑操作符 操作符 && || ! 操作 逻辑与 逻辑或 逻辑非 字符串操作符 操作符 Ne Eq & Lt 操作 字符串不等 字符串相等 字符串连接 小于 位操作符 操作符 & | ^ ~ 操作 按位与 按位或 按位异或 按位取非
制作按钮 9.2.2 范例解析(一)──制作按钮
请同学们在老师的带领下学习如何实现Flash按钮功能,并按要 请同学们在老师的带领下学习如何实现 按钮功能, 按钮功能 求完成以下操作 。
1、打开教学资源中的“素材\第9讲\制作按钮 制作模板 、打开教学资源中的“素材 第 讲 制作按钮 制作模板.fla”文件。 制作按钮\制作模板 文件。 文件 2、执行【窗口】/【公用库】/【按钮】菜单命令,打开【库-按钮】 按钮】 、执行【窗口】 【公用库】 【按钮】菜单命令,打开【 按钮 面板,如图9-3所示 所示。 面板,如图 所示。 3、将【classic buttons】/【PlayBack】目录下的“gel Left”、 、 】 【PlayBack】目录下的“ 、 个按钮元件拖入到“ “gel Right”、“gel Stop”3个按钮元件拖入到“按钮”图层上 、 个按钮元件拖入到 按钮” 并设置位置如图9-4所示 ,并设置位置如图 所示 。

时间轴控制函数说明
作用 将播放头转到场景中第n帧并从该帧开始播放。(n为要调整的帧数) 将播放头转到场景中第 帧并从该帧开始播放。( 为要调整的帧数) 帧并从该帧开始播放。( 为要调整的帧数 将播放头转到场景中第n帧并停止播放 将播放头转到场景中第 帧并停止播放 将播放头转到下一帧 将播放头转到下一场景的第 1 帧 在时间轴中向前移动播放头 将播放头转到上一帧 将播放头转到上一场景的第 1 帧 停止当前正在播放的SWF文件 停止当前正在播放的 文件 在不停止播放头的情况下停止SWF文件中当前正在播放的所有声音 在不停止播放头的情况下停止 文件中当前正在播放的所有声音

flashActionScript编程(适合教学)

flashActionScript编程(适合教学)

(7)改进的“字符串”面板。“字符串”面板中添加 了对String字段和XML文件的多行支持。
(8)在Flash Player中增强了本地文件的安全性。在 Flash Player中,当用户运行硬盘上的SWF文件时为本地文 件提供额外的安全保护。
(9)通过ActionScript使用滤镜。用户可以使用 ActionScript代码对舞台上的对象应用多种滤镜。
Include类文件夹 :包含所有的全局ActionScript include 文件。
ActionsPanel.xml配置文件:包含用于ActionScript 代码提 示的配置文件。
AsColorSyntax.xml 配置文件 :包含用于 ActionScript 代 码颜色语法加亮显示的配置文件。
图11.1.4 “动作”面板
(2)“动作”面板的组成。“动作”面板主要由3个部分 组成:动作工具箱、脚本导航器和脚本输入区。
1)动作工具箱位于“动作”面板的左上方,以分类的方 式列出了Flash中包含的所有语句,包括全局函数、全局属性、 运算符、语句、ActionScript 2.0类、编译器指令、常数、类型、 数据组件、组件、屏幕和索引。只要用鼠标双击其中的任意一 个元素或者应用拖曳的方式,即可将其添加到“脚本”窗格中。
图11.1.7 “查找和替换”对话框 话框
图11.1.8 “插入目标路径”对
“语法检查”按钮:用来检查用户输入的脚本中是否存在 语法错误。单击该按钮可检查当前脚本中的语法错误,如果语 法正确,弹出如图11.1.9所示的提示框。如果脚本中有错误, 则会弹出如图11.1.10所示的提示框,并打开如图11.1.11所示 的“输出”面板,说明错误的详细信息。
图11.1.6 命令级联菜单

ActionScript菜鸟基础终极教程

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

Android应用调试配置_ActionScript3.0语言基础与应用_[共2页]

Android应用调试配置_ActionScript3.0语言基础与应用_[共2页]

278 此时,我们绘制波形的y点坐标就非常好定,为0。

因为是依次画矩形,因此我们根据采样点的序号i,乘上比例k,就是x坐标位置。

因此画矩形使用:g.drawRect(i*k,0,w*k,-n) 。

10.2.6 Android应用调试配置
手机项目调试的时候会跳出调试配置对话框,你可以选择启动方法为“在桌面上”或者
“在设备上”。

在桌面上指的是在计算机中模拟你选择的机型,然后在模拟手机中调试;在设备上指的是在真实的手机上调试,需要将手机和电脑连接。

我们可以先选择在桌面上启动,在下拉菜单中选择合适的机型,如果没有匹配的机型,也可以选择相同分辨率的机型,如图10-7所示。

图10-7 调试配置对话框
如果没有调试对话框出来,说明之前已经配置过,如果需要更改配置,就可以通过单击调试按钮右侧的三角形,选择“调试配置”菜单,如图10-8所示,或者通过选中项目-右键菜单中选择“调试配置”菜单打开调试配置对话框,如图10-9所示。

单击调试,就可以对项目进行调试。

如果我们在代码中没有设置与相应机型一样的尺寸,并且屏幕缩放模式为不能缩放,那么有可能我们的界面不能与屏幕很好地匹配,如图10-10所示,底部的按钮不见了。

此时,我们要么将舞台大小设置与机型一致,要么在代码中进行控制,代码如下:
stage.scaleMode = StageScaleMode.EXACT_FIT;
这样就能与屏幕适应了,如图10-11所示,但是这样有可能造成图像变形。

flash第1讲ActionScript基础

flash第1讲ActionScript基础

1.5.2 了解内置对象
1. 实例化对象 如果要创建动作脚本类的实例时,可使用new 运算符调用该类的构造函数。构造函数与类始终 具有相同的名称,并返回该类的实例,而用户通 常会将该实例分配给一个变量,例如: var song:Sound=new Sound(); 上述代码表示创建了一个新的Sound对象。
1.5.1 面向对象编程中的几个基本概念
“对象” 是指属性和方法的集合,每个对象都具有 其各自的名称,并且都是特定类的实例。相比较而言, 对象是一个形象具体的概念,如生活中所使用的笔、纸 张、书籍、计算机等,都可称之为对象。而对于每个对 象来说,它们都具有一些区别于其他对象的个体属性, 如大小、形状、颜色、使用方法等。Flash中使用的内置 对象都是在动作脚本语言中预先定义的。

1.5.2 了解内置对象
几种顶级类: (1)Key:Key类是不通过构造函数即可使用其方法和属性 的顶级类。使用Key类的方法可生成用户能够通过标准键盘控 制的界面,该类的属性是常量,表示控制游戏时最经常使用的 键。 (2)Mouse:使用Mouse类的方法可隐藏和显示SWF文件 中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是 用户可以将其隐藏并实现用影片剪辑创建的自定义指针。 (3)Math:使用Math类的方法和属性可以访问和处理数学 常数和函数。

1.5.2 了解内置对象
2. 需要绑定的类 在动作脚本中,还有一些对象类需要绑定到 【库】面板中的某个对象上,如MovieClip、 Sound等。

No Image
1.5.2 了解内置对象
3. 顶级对象类 有些内置动作脚本类,类成员(属性和方法)通 过类名本身来访问或调用的,而不是通过类的实 例,也就是说,不用创建类的实例即直接使用这 些属性和方法。

AS 3.0代码简介

AS 3.0代码简介
addChild(xGougou);
}
测试上面两段代码,你可以看到,第一个对象Gougou在上面,坐标是(275,100),下面的Gougous生成了10个副本,横坐标从50到500依次展开,纵坐标是300,缩放率为50%.
复制代码
for(var i=0;i<3;i++){for(var j=0;j<3;j++){for(var k=0;k<3;k++){
复制代码
for(var i=0;i<10;i++){
var xGougou:Gougou=new Gougou();
xGougou.x=50*i+50;
xGougou.y=300;
xGougou.z=150*i+50;
xGougou.scaleX=.5;
xGougou.scaleY=.5;
一个布尔值,指示影片剪辑是否处于活动状态。 MovieClip
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 DisplayObject
focusRect : Object
指定此对象是否显示焦点矩形。 InteractiveObject
framesLoaded : int
指定此对象是否接收 doubleClick 事件。 InteractiveObject
dropTarget : DisplayObject
[只读 (read-only)] 指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 Sprite
enabled : Boolean

ActionScript基础程序设计

ActionScript基础程序设计

例3-1
本例是利用自定义函数实现指定帧的跳 转功能。 转功能。 新建文档;并新建名为“元件1”的影 新建文档;并新建名为“元件 的影 片剪辑元件, 片剪辑元件,在该元件中制作一个简单 的动作补间动画。 的动作补间动画。 返回主场景,将元件1拖到主场景中 拖到主场景中, 返回主场景,将元件 拖到主场景中, 并在“属性” 并在“属性”面板中将实例名设置为 mc
onClipEvent (load) { var time = 0; var rate = 12; var temp = 0; } onClipEvent (enterFrame) { temp += 1;//程序每执行一次,temp加1 time = Math.round(temp/rate*100)/100; //把temp除以帧频,并保留两位小数 } 3. 测试影片。
四、常用函数(内置函数)
Play()与stop() 与 Play() ; stop(); _root.ball.stop(); gotoAndplay() 与gotoAndstop() prevFrame()与nextFrame()、 与 、 prevScene()与nextScene() 与
duplicateMovieClip()作用是通过复制来创 作用是通过复制来创 建新的影片剪辑的实例。 建新的影片剪辑的实例。 duplicateMovieClip(目标,新实例名称,深 目标, 目标 新实例名称, 度); 目标:被复制度影片剪辑的名称和路径。 目标:被复制度影片剪辑的名称和路径。 新实例名称: 新实例名称:是复制后得到的影片剪辑实例的名 称。 深度:代表影片剪辑实例在影片中的叠放顺序; 深度:代表影片剪辑实例在影片中的叠放顺序; 低深度在高深度之下。 低深度在高深度之下。

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编程绝对值、最小值和最大值作用:求某个数字或表达式的绝对值,以及几个数字间最小值和最大值。

说明:ActionScript中的Math类提供了求数字绝对值、最小值和最大值的方法,免去了用户自定义方法的麻烦。

1.绝对值(Math.abs())绝对值(模)是数学中非常重要的概念。

其在解析几何和代数领域都有非常重要的作用。

在解析几何中,绝对值就是数字在数轴上关于原点的距离。

在代数中,正实数的绝对值是其本身,负实数的绝对值是其相反数,0的绝对值即是其本身,又是其相反数。

在ActionScript3.0中,Math类的Math.abs()方法可以求任意数字的绝对值,其使用方法如下所示。

Math.abs(Value);在上面的代码中,Value代表需要求绝对值的数值。

Math.abs()方法返回的数值为数字型数据。

2.最小值(Math.min())在各种应用程序中,经常需要求得一些数字中最小的值。

ActionScript3.0的Math类提供了Math.min()方法可以方便地实现该功能,其使用方法如下所示。

Math.min(Value1,Value2,Value3……,ValueN);在上面的代码中,Math.min()即求几个数字最小值的方法。

V alue1、Value2……ValueN等参数就是需要求最小值的数字。

Math.min()方法属于不定参数的函数,因此,其参数是不固定的,可以根据用户的需要增加或减少,但是最少应有1个参数。

否则返回的值将是Infinity。

3.最大值(Math.max())除了求最小值外,Math类还提供了求最大值的方法,其使用方法与Math.min()方法类似,如下所示。

Math.max(Value1,Value2,Value3……,ValueN);在上面的代码中,Math.max()方法的参数同样是不固定的。

当Math.max()方法没有参数时,同样会返回Infinity。

ActionScript编程 设置对象的大小

ActionScript编程  设置对象的大小

ActionScript 编程 设置对象的大小 作用:通过ActionScript 代码设置显示对象的宽度和高度,控制显示对象的大小。

说明:在Flash 软件中,用户可通过【属性】检查器设置舞台中各种元件的大小。

而在ActionScript3.0中,ActionScript 的显示对象(DisplayObject )类为用户提供了两种属性——height 属性和width 属性。

通过这两种属性,用户同样也可以方便地通过代码来控制各种对象实例的大小,方法如下所示。

DisplayObject.height=DisplayObjectHeight;DisplayObject.width=DisplayObjectWidth;在上面的代码中,各关键词的含义如下所示。

● DisplayObject 显示对象的实例名称● DisplayObjectHeight 显示对象的高度● DisplayObjectWidth 显示对象的宽度显示对象的高度单位和宽度单位均为px (像素),其精确度取小数点后1位。

显示对象(DisplayObject )类的这两种属性都是可读写的属性。

也就是说,允许用户随时设置或读取这两个属性的值。

在同一个多次设置某个显示对象的高度或宽度值。

但是,最终显示的结果以最后一次有效设置的值为准(函数等封包中的设置只有在执行时才有效)示例:通过ActionScript3.0,用户可以方便地控制各种显示对象的大小,甚至通过按钮等组件,使显示对象的大小随用户的操作而变化。

例如,在Flash 中导入一个购物篮的图像,并制作增大按钮和减小按钮的影片剪辑元件,如图13-1所示。

图13-1 导入和制作各种元件将购物篮的图像为ActionScript导出,设置类为displayobj,再分别将增大按钮和减小按钮为ActionScript导出,设置类为addwh和minuswh,并将其从舞台中删除,即可编写代码,如下所示。

ActionScript编程 创建数组

ActionScript编程  创建数组

ActionScript编程创建数组作用:提供一种把相关数据聚集在一起,然后再组织和处理这些数据的方式。

说明:数组存储一系列经过组织的单个或多个值,其中的每一个值都可以通过使用一个无符号整数值进行访问。

第一个索引始终是数字0,且添加到数组中的每一个后续元素的索引都是以1为增量递增。

在ActionScript 3.0中,可以使用Array类构造函数或使用数组文本初始化数组来创建数组。

Array构造函数的使用有三种方法。

第一种,通过调用不带参数的构造函数可以得到一个空数组,如下所示。

var myArray:Array = new Array();第二种,将一个数字作为Array构造函数的唯一参数,则会创建长度等于该数值的数组,并且每个元素的值都默认设置为undefined,如下所示。

var myArray:Array = new Array(numElements);在上面的代码中,numElements参数表示一个指定数组中元素数量的整数,该参数必须为介于值0和4 294 967 295之间的无符号整数。

第三种,调用构造函数并传递一个元素列表作为参数,将创建具有与每个参数相对应的元素的数组,该数组中第一个元素的索引(或位置)始终是0,如下所示。

var myArray:Array = new Array(…values)在上面的代码中,…values参数表示一个以逗号分隔的列表,可以包含一个或多个任意值。

如果传递给Array构造函数的只有一个单数值参数,则认为该参数指定数组的length 属性。

其实,还可以不使用Array构造函数,创建具有数组文本或对象文本的数组。

其中,可以将数组文本直接分配给数组变量,如下所示。

var myArray:Array = […values];示例:在编写ActionScript程序时,经常需要初始化一个数组用于存储一系列的值或对象,这样可以避免为每个值或对象声明一个单独的变量。

ActionScript编程 了解Date类

ActionScript编程  了解Date类

ActionScript编程了解Date类说明:Date类是ActionScript3.0中的顶级类,用于表示日期和时间信息。

每一个Date类的实例都可以表示某一个时间节点。

Date类提供了许多属性和方法用于查询或修改该时间节点的属性。

1.实例化Date对象在ActionScript中,实例化一个Date类的方法如下所示。

var DateObject:Date=new Date();在上面的代码中,关键词DateObject就是Date类的实例名称。

一个Date实例通常包括如下内容。

●年4位数字。

●月自0到11之间的数字,其中0代表1月,以此类推●日自1到31之间的数字●星期自0到6之间的数字,其中0代表星期天,1代表星期1,以此类推●小时自0到23之间的数字,其中0代表0点或24点,以此类推●分钟自0到59之间的数字,其中0代表0分钟或60分钟,以此类推●秒自0到59之间的数字,其中0代表0秒或60秒,以此类推●毫秒自0到999之间的数字,其中0代表0毫秒或1000毫秒,以此类推●时区计算当前时区与标准时区的时间差,求出当前时区的位置。

在上面的代码中,Date类的构造函数是没有参数的。

在这种情况下,将创建一个包含当前时区当前时间的Date对象。

为Date类的构造函数添加不同的参数,可以创建不同种类的Date 对象。

例如,创建一个包含1个整数参数的Date对象,则该对象的内容将是自格林尼治时间1970年1月1日0点0分0秒0毫秒开始,经历与参数相同的毫秒数后的时间。

Date类的构造函数还允许添加多个参数。

例如,将年、月、日、小时、分钟、秒、毫秒作为参数,可以实例化一个相应的本地时间,如下所示。

var DateObject:Date=new Date(Year,Month,Date,Hours,Minutes,Seconds,milliseconds);除此之外,Date类还可以尝试将一个字符串解析为时间。

ActionScript编程 类的接口

ActionScript编程  类的接口

ActionScript编程类的接口接口可以看成是ActionScript 3.0抽象程序最高的类型,也可以看成是统一不相关对象的标准,或者是方法声明的集合,它可以使不相关的对象之间能够彼此通信。

合理地利用接口进行编程,可以规范程序,便于不同的使用人员合作与交流。

例如,通过直接继承EventDispatcher类,可以让对象获得发送事件的能力,所有的显示对象由于间接继承了EventDispatcher类,所以都成为了事件的发送者。

然而,EventDispatcher类的编写是有标准的,这个标准就是接口IeventDispatcher。

接口IeventDispatcher规定了事件发送者必须具有5个方法。

代码如下所示:public interface IEventDispatcher{function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0,useWeakReference:Boolean = false):void;function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void;function dispatchEvent(event:Event):Boolean;function hasEventListener(type:String):Boolean;function willTrigger(type:String):Boolean;}接口的基础是方法的接口与方法的实现之间的区别。

方法的接口包括调用该方法所需的所有信息,如方法名、所有参数和返回类型。

方法的实例不仅包括接口信息,而且还包括执行方法的行为的可执行语句。

接口定义只包含方法接口,实现接口的所有类负责定义方法实现。

使用ActionScript编写脚本

使用ActionScript编写脚本
代 码应 该 是这l : 样

o ( lae n r e s ){ e
哥皓科 技时 & 代 信息技术缸■20 5 02
6 7
维普资讯
你 的 要求 f作,常 常需 要 多次 修改 、测 试和 调试 最 好 :
的方法 是从 硒 单开 娇.并经常 测试 你编 写的 脚本 ’ 你 编 写 的 ・ 分脚 本 能 常 工 作时 . 择 S v 存 选 a eAs( 为 )命令 .保 存 文件 的版 l ( my ve 】 l ,然 本 如 Mo iO .a) 『 后再 开始 编 写余 下 的部 分 。 当你编 写 更为 复杂 的 脚本 时 , 种 方法 有助 于你 干 效地发 现错 误, 这 丁 确保你 的 动作
你 可 以使州 Ac in to s面板, 指导 你 设置 简单 的脚
辑 以图 像彤 式 出现 征编 辑J 夏中 有 的电影 剪辑都 是舰 所 定 义 类 Mo mCi v l p的实例 。 每个 电影 剪 辑实 例均 包
奉的腰 本 步骤 】 首先选 择Wi d w > C miOlL b a is> . no o l l ir r l e
B to s 窗 r>常 用库>按 钮 )然 后选 择 W id w > utn ( 『 . no
C mmo i r re o n L b a is> Mo i l s( ¨>常 用 库> ve C i 窗 p
脚 奉 稳固 ”
三 面 向对象 的脚本 编写
图 3
往 面向 对象 的脚 本编写 中. 通过把 信 息分 为纰 ( 称
为 类 j 来组 织侍 息。 , u 以创建 一 类的 多个 实例 ( 为 个 称 对象) .用 于你 的脚本 之 。 呵以使 用 Acin cit t S r 的 o p 预 定义类 , 也Ⅱ 以创建 n 的 类。 『

ActionScript编程 面向对象的基本概念

ActionScript编程  面向对象的基本概念

ActionScript 编程 面向对象的基本概念说明:面向对象(Object Oriented ,OO ,区别于面向过程Process Oriented ,PO )是指一种程序设计思想,同时也是一种程序开发的方法论。

它将对象作为程序的基本单元,将命令和数据封装其中,可以最大化地提高软件的重用性、灵活性和扩展性。

用面向对象的设计思想编写程序就是面向对象的编程,又被称作面向对象的程序设计(Object-oriented Programming ,OOP ),是一种在程序中包含各种独立而又互相调用的单位和对象的设计方法。

面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象。

面向对象的编程通常遵循一些基本的理论:1.类(Class )类是所有面向对象的编程语言中的必要组成部分。

类定义了一个或多个事物的抽象特征,包括事物的各种基本性质(在程序设计中,叫做类属性)和其可实现的功能(在程序设计中,叫做方法)。

例如,“汽车”这个类会包含所有汽车的一切基本特征,如拥有发动机、车轮等部件,可以载货或载客等。

这些特征就被称作是“汽车”这个类的“成员”。

可以用伪代码定义“汽车”这个类,如下所示。

公共的 类 汽车{声明 性质:拥有发动机;声明 性质:拥有车轮;声明 载运();声明 行驶(); }}在上面的代码中,声明了一个类(汽车),并描述了这个类的性质和功能,这些性质和功能又被称作类的成员。

类可以将许多事物进行归纳和总结,方便人们了解和使用。

2.对象(Object )对象也是面向对象编程语言中重要的组成部分,是类的实例。

例如,在前面使用伪代码定义了“汽车”这个类的特点,并使这个类定义了所有的汽车,那么可以将“汽车”这个类进行实例化,也就是将类的特点赋予一个具体的例子,如下所示。

声明 奇瑞QQ:汽车=一种新的 汽车()通过上面的伪代码,将把“奇瑞QQ ”实例化为汽车,也就是说,从上面的伪代码开始执行起,“奇瑞QQ ”就是一种新的汽车了。

ActionScript编程 自定义窗体

ActionScript编程  自定义窗体

ActionScript编程自定义窗体作用:隐藏系统提供的窗口API,由用户自行创建窗口的各种按钮,包括最大化、最小化以及关闭等按钮。

说明:在多数可视化编程平台中,都会提供自定义窗体的功能,使用户的程序看起来更加个性化。

在AIR中,同样可以通过NativeWindow 类和NativeWindowInitOptions等的各种方法实现类似的功能。

在创建自定义窗体时,首先应通过图像处理软件设计窗体的样式。

然后,将窗体样式导入到AIR文档中。

在窗体样式中,分别为各按钮添加鼠标事件,调用NativeWindow的各种方法。

最后,在发布AIR 文档时,需要设置【窗口样式】为自定义镶边(透明)。

NativeWindow类提供了多种方法用于控制窗体,例如控制窗体最大化、最小化等,如表27-3所示。

表27-3 NativeWindow类的方法在上面的各种方法中,orderInFrontOf()等4种方法主要应用于多窗体控制。

而其他方法则通常用于控制普通的窗体,模拟操作系统的窗体操作。

示例:使用NativeWindow类的各种属性,用户可以创建自定义的窗体。

例如,在Photoshop中创建界面的图像,然后再将素材导入Flash中,如图27-2所示。

图27-2 导入素材图像然后,分别将标题栏、窗体背景、最小化按钮、最大化按钮、还原按钮以及关闭按钮等转换为影片剪辑元件,再为ActionScript导出,设置好类名后,即可为文档类编写代码,如下所示。

package {import flash.display.Sprite;//导入基类import flash.events.MouseEvent;//导入鼠标事件类public class customForm extends Sprite {//创建主自定义类private var nativeWindow=stage.nativeWindow;//实例化本地窗体类private var labelBar:LabelBar=new LabelBar();//实例化可拖拽的标题栏private var minBtn:MinBtn=new MinBtn();//实例化最小化按钮private var maxBtn:MaxBtn=new MaxBtn();//实例化最大化按钮private var restoreBtn:RestoreBtn=new RestoreBtn();//实例化还原按钮private var closeBtn:CloseBtn=new CloseBtn();//实例化关闭按钮private var backgroundImage:BackgroundImage=new BackgroundImage(); //实例化窗体的背景图像public function customForm():void {//创建主函数customWindow();//调用定义窗体的函数createUI();//调用定义界面的函数}private function customWindow():void{//创建定义窗体的函数nativeWindow.height=400;nativeWindow.width=550;//定义窗体的高度与宽度nativeWindow.alwaysInFront=true;//定义窗体始终在最前}private function createUI():void {//创建定义界面的函数backgroundImage.x=0;backgroundImage.y=0;//定义窗体背景图像的坐标stage.addChild(backgroundImage);//将坐标显示到舞台中labelBar.x=0;labelBar.y=0;//定义标题栏的坐标stage.addChild(labelBar);//将标题栏显示到舞台中labelBar.addEventListener(MouseEvent.MOUSE_DOWN,onMove); //为标题栏添加鼠标按下事件minBtn.x=448;minBtn.y=0;//定义最小化按钮的坐标stage.addChild(minBtn);//将最小化按钮显示到舞台中minBtn.addEventListener(MouseEvent.CLICK, onMinimize);//为最小化按钮添加鼠标单击事件maxBtn.x=474;maxBtn.y=0;//定义最大化按钮的坐标stage.addChild(maxBtn);//将最大化按钮显示到舞台中maxBtn.addEventListener(MouseEvent.CLICK, onMaximize);//为最大化按钮添加鼠标单击事件restoreBtn.x=474;restoreBtn.y=0;//定义还原按钮的坐标restoreBtn.visible=false;//定义还原按钮为隐藏stage.addChild(restoreBtn);//将还原按钮显示到舞台中restoreBtn.addEventListener(MouseEvent.CLICK,onRestore);//为还原按钮添加鼠标单击事件closeBtn.x=498;closeBtn.y=0;//定义关闭按钮的坐标stage.addChild(closeBtn);//将关闭按钮显示到舞台中closeBtn.addEventListener(MouseEvent.CLICK, onCloseWindow); //为关闭按钮添加鼠标单击事件}private function onMinimize(event:MouseEvent=null):void {//创建最小化窗体的鼠标事件函数nativeWindow.minimize();//调用NativeWindow的最小化方法}private function onMaximize(event:MouseEvent=null):void {//创建最大化窗体的鼠标事件函数nativeWindow.maximize();//调用NativeWindow的最大化方法maxBtn.visible=false;//隐藏最大化按钮restoreBtn.visible=true;//显示还原按钮}private function onRestore(event:MouseEvent=null):void{//创建还原窗体的鼠标事件函数nativeWindow.restore();//调用NativeWindow的还原方法maxBtn.visible=true;//显示最大化按钮restoreBtn.visible=false;//隐藏还原按钮}private function onCloseWindow(event:MouseEvent=null):void {//创建关闭窗体的鼠标事件函数nativeWindow.close();//调用NativeWindow的关闭方法}private function onMove(event:MouseEvent=null):void{//创建移动窗体的鼠标事件函数nativeWindow.startMove();//调用NativeWindow的移动窗体方法}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
loadVariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;
eCodepage=true;//使外部文件的中文字符能够正确显示;
}
清除按扭上的AS:
on(release){
_root.msg="";//清除动态文本框中的内容;
3.调用按扭上添加AS:
on(release){//松开鼠标后执行下面的代码;
loadVariables("msg.txt",msg);//调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中;
eCodepage=true;//使外部文件的中文字符能够正确显示;
mymc._yscale=70;//加载影片的高度;
}
清除按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码
unloadMovie(mymc);//删除用loadMovie加载的*.swf文件;
}
Ctrl+Enter测试
三.调用外部*.swf文件(加载到时间轴上):
一.调用外部文本文件:(文本文件开头要以flash中的动态文本框的变量名开头,如
msg=".........."这样的形式,要和编辑的Flash文件放在同一目录下)
1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框
2.制作两个按扭(一个调用,一个清除)拖放到场景中。
_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;
}
_root.down.onPress=function(){//在向下按扭上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;
}
Ctrl+Enter测试.
二.调用外部*.swf文件(加载到影片剪辑中):
外部*.swf文件要和编辑的Flash文件放在同一目录下
1.新建立一个空的影片剪辑mymc,把它放在场景中,实例名是:mymc.
2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中
3.调用按扭上的AS:
loadMovie("pic.jpg", "mc");
mc._x=50;
mc._y=50
mc._xscale=40;
mc._yscale=40
}
--------------------------------------------------------------------------------
外部*.swf文件要和编辑的Flash文件放在同一目录下
1.制作两个按扭(一个调用,一个清除)拖放到场景中
2.调用按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码
loadMovie("flash8.swf",1);//加载外部的"flash8.swf"文件到场景中,层深为1;
1.制作两个按扭(一个调用,一个清除)拖放到场景中
2.制作一个空的影片剪辑,拖到场景中,实例名是:mymc;
3.时间轴上第一帧上的AS:
i=0;//定义一个变量i,并且赋初值为0;
调用按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码;
i++;
if(i>9){//因为外面这有9张图,当变量大于9的时候,让变量为1,这样能够使加载的图片是连续的,即,每点一次按扭,就换一张图,等到换到第9张图,再点按扭,则循环到第一张图(j1.jpg到j9.jpg,因为没有j0.jpg,如果i=0,则会提示没有找到j0.jpg);
//加载到 Flash Player 中的叫PIC的这个影片剪辑中。
上面的语句是实现了加载一张.我们要它加载多张.所以要用到IF语句.在AS层的第六十祯处加入一个关键祯,打开动作面板,加入AS语句:
i++;//变量i递增
if (i >= 21) {//当变量i递增到>=21时.这里的21是因为我准备了二十一张要加载的图.如果你加载十张.那就把这里的21改为10就可以了
2.调用按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码;
mySound=new Sound();//建立一个新的声音对象mySound;
mySound.loadSound("zaihuni.mp3",true);//加载外部的*.mp3声音文件到mySound对象中,并且按流的方式播放(参数为false时,是以装载完后播放);
i=1;
}
loadMovie(("j"+i)+".jgp",mymc);//从j1.jpg开始加载图片到影片剪辑mymc中;
mymc._x=110;//以下设置加载图片的属性
mymc._y=35;
mymc._xscale=130;
mymc._yscale=130;
}
清除按扭上的AS:
}
向上的按扭上的AS:
on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;
}
向下的按扭上的AS:
on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;
}
4.清除按扭上的AS:
on(release){//松开鼠ห้องสมุดไป่ตู้后清楚动态文本框中的内容;
msg="";
}
5.Ctrl+Enter测试.
当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2)
在第一帧上加如下代码:
stop();
_root.bt1.onRelease=function(){
on(release){
unloadMovie(mymc);//删除掉用loadMovie加载到影片剪辑的图片;
}
Ctrl+Enter测试。
当然AS可以写在帧上。
五.调用外部声音文件(加载到场景中)
外部声音文件必须和正在编辑的Flash文件放在同一目录下
1.制作两个按扭(一个调用,一个清除)拖放到场景中
i = 0;//则变量为0,即重新加载
}
loadMovie (("p04" + i) + ".jpg", "pic");//如果不是.则继续加载.这里的p04+i就等p04i.也就是说i是几.这里就是p04*,比如i为12,则p04+i就等于p0412
gotoAndPlay (12);//跳转到第十二祯
eCodepage=true;//使外部文件的中文字符能够正确显示;
}
_root.bt2.onRelease=function(){//松开鼠标后执行
_root.msg="";//清除动态文本框中的内容;
}
_root.up.onPress=function(){//在向上按扭上每按一次鼠标执行下面的代码;
}
清除按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码
unloadMovie(1);//删除层深为1的用loadMovie所加载的"flash8.swf"文件
}
Ctrl+Enter测试。
当然二和三的代码都可以写在帧上。
四.调用外部图片(加载到影片剪辑中)
外部图片必须和正在编辑的Flash文件放在同一目录下
}
Ctrl+Enter测试.
当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例名是down)
在第一帧上加如下代码:
_root.bt1.onRelease=function(){//松开鼠标后执行下面的代码;
loadVariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;
}
清除按扭上的AS:
on(release){
mySound.stop();//当按下清除按扭后,停止声音的播放
}
Ctrl+Enter测试。
加载外部图片
如果你的动画中有很多的图片.如果都放到一个SWF文件.可能打开或是下载会很慢.这样就影响了观看效果及速度,那么你可以利用载入外部图片的方法,只要把图片按名称放到你网上的一个目录里(和你的SWF文件同一个目录),那么就可以解决这个问题
加载外部文本文件的3种方法
不管那样方法,文本文件要和主文件在同一目录下,再就是在这儿的文本文件名为 b.txt
*第一种方法txt=
1、创建一个文本框,给此文本框一个变量名txt;
2、文本格式为:动态;
3、选:多行输入
4、在第一帧上增加脚本语言。(按F9)
loadVariablesNum("b.txt",0);//b.txt是文件名,0是场景中的根目录
相关文档
最新文档