文档库 最新最全的文档下载
当前位置:文档库 › Flash AS

Flash AS

Flash AS
Flash AS

和其它脚本不同,AS程序有作用对象一说,在FLASH动画中并不能任意插入AS,而要依附于相关对象

三种作用对象

1关键帧

2按钮

3影片剪辑

动画的暂停

在关键帧上添加as会有一个a标示

字母区别大小写

注释

//单行注释

/**/多行注释

play( ); 播放

stop( ); 停止

gotoAndPlay( ); 转到并播放

gotoAndStop( );转到并停止

nextFrame(); 跳至下一帧并停止播放

prevFrame(); 跳至前一帧并停止播放

针对按钮对像的on ( ) 事件处理函数,该代码只能添加到按钮上,不能添加到时间轴上面

格式: on (鼠标事件) { //此处是我们的语句,这些语句组成的函数体来响应鼠标事件}

常用的事件有如下几个:

press: 在鼠标指针经过按钮时按下鼠标按钮

release:在鼠标指针经过按钮时释放鼠标按钮

rollOut: 鼠标指针滑出按钮区域

rollOver: 鼠标指针放在按钮

KeyPree(“key”) 按下指定的标准键盘上的按键

示例:

on事件中的参数的意义

用按钮控制影片剪辑的播放和暂停

要给影片剪辑的实例命名

影片剪辑路径.相应操作

给按钮添加链接

getURL 给事件添加超级链接,包括电子邮件链接

on(release){ getURL(“https://www.wendangku.net/doc/6313107086.html,”,”_blank”); }

on(release){ getURL(“mailto: fsdf@https://www.wendangku.net/doc/6313107086.html,”); }

As 只能插入到

关键帧(a标示)

按钮

影片剪辑

针对按钮对像的on ( ) 事件处理函数,该代码只能添加到按钮上,不能添加到时间轴上面

控制某一影片剪辑的实例,必须先给实例命名方可通过(路径.相关动作)控制

控制元素时,元素路径的书写及规律

绝对路径

相对路径

gotoAndPlay(“场景”,帧)

注意:

在进行转跳时应该尽量使用帧标签,帧标签可以穿越所有场景,减少错误,使FLASH运行速度增快。

只能在根时间轴上跳转时使用转跳到指定场景,而不能是其它影片剪辑或其它对象的时间轴内

nextScene() 转跳到下一场景

如何定义变量

如:定义一个容器,容器名字是myAge,用来存放年龄。定义如下: var myAge;

var 是用来定义变量的关键字

myAge则是容器名,即变量名

变量赋值

那么这个变量怎么存放年龄呢?在定义变此时可以给定一个值,即变量值,如下所示:

var myAge=66;

其中“=”号代表赋值运算符,把66 这个值赋给变量myAge。

set(“myAge”, 66)

提示:

首次定义变量时,为该变量指定一个已知值,这就是所谓的初始化变量,变量不初始化,是不能参与运算的;

如果使用未赋初值过的变量该变量的值将是NaN或undefined。并且动件脚本可能产生意外的结果。

命名变量名要遵守如下的规则:

不能是as 关键字,所谓关键字也称保留字,指as 预先定义好的标识符。

不能以数字开头,第一个字符必须是字母或下划线“_”和美元符“$”。中间不能有空格。

变量名中不能使用标点符号,

不应将动作脚本语言中的任何元素用作变量名称。

正确的示例:

a,m,ba,assw,a_aa,my_mc,$abc,$_ss,$_mc等等

my_txt 保存文本的变量

错误的示例:

2_m //不能用数字开头

my-a //不能用减号分割

a.ss //不能使用标点符号

a b //不能有空格

在FlashMX 2004 以上的版本中变量也可以用中文来表示。

如:

var 年龄=20; 其中年龄就是变量名。

提示:在命名变量时规范的方法是不同类型的变量加不同的前缀或者后缀

影片剪辑: my_mc

按钮:my_btn

trace()函数在编写脚本中,我们会大量用到trace()命令。trace()实际算是一个调试命令,它的功能是输出某个变量值到输出面板(和document.write()有点类似)

在动作脚本中有3 种类型的变量范围:

本地变量在声明它们的函数体(由大括号界定)内可用。

时间轴变量可用于该时间轴上的任何动作脚本。

全局变量和函数对于文档中的每个时间轴和范围可见。

本地变量(最常用)

要声明本地变量,请在函数体内部使用var 语句。

本地变量的使用范围只限于它的代码块,它会在该代码块结束时到期。没有在代码块中声明的本地变量会在它的动作脚本结束时到期。

时间轴变量

时间轴变量可用于该时间轴上的任何动作脚本。

例如:

如果将代码“var x=10;”放置在第20帧上,则附加到第20 帧之前的任何帧上的动作脚本都无法访问变量

全局变量

全局变量和对于文档中的每一时间轴和范围而言都是可见的。

若要创建具有全局范围的变量,请在变量名称前使用_global 标识符,并且不使用var语法。

例如

在根时间轴第一帧上定义两个变量,然后将trace()放在不同时间轴和地点去返回它们的值,以观察它们的区别Var a=5 _global.b=3

选择“动态文本”

给其设置一个变量名

字符串型

以双引号引起的

“HI As”

数值型

数值

1,300

布尔型

只有两种:

true false

其它类型:

影片剪辑

undefined

表示未定义的数据类型,如下情况返回undefined值: 对象属性不存在

声明了变量但未赋值

+ (当加数其中一个为字符串时,即为字符串连接符) -

*

/

%

++

--

比较操作符

==

<

>

<=

返回值只有两个(true ,false)

操作符

条件运算符

?:

格式:表达式1?表达式2:表达式3

说明:当表达式1的返回值为true,则返回表达式2的值;否则返回表达式3的值

if (a >b ){max = a} else{max =b}

max = a>b?a:b

And (&&) 左右两边都为真是才为真

or (||) 一边为真即为真

Not 取反

_x,_y,

_width,_height,

_xscale,_yscale,

_rotation,

_url,目标的存放路径如(file://c/My Documents/boot.swf)

_target,返回指定电影剪辑的目标路径如(_root.star.boot)

_name,实例名称,可改变。

_visible,

_currentframe,取得当前时间播放线的当前帧号

_framesloaded,取得对象已载入的总帧数

_totalframes,取得目标的总帧数

_xmouse,_ymouse,注意,可以获得在主时间线和影片剪辑的坐标用法:_root._xmouse, _root.boot._ymouse,

上面的属性用法均为:MovieCilp._prtperty

全局属性

_highquality

用法:setProperty(MovieClip,_highpuality,参数(0&&1&&2));

设置实例播放时的画面等级。

_quality

用法:setProperty(MovieClip,_quality,参数(字符串(Low&&Medium&&High)));

_soundbufime

用法:MovieCilp实体名._soundbufime=缓冲时间;

setProperty(Moviecilp.实体名,_soundbufime,缓冲时间);

用于设置声音预读缓冲的秒数,默认时间是5秒。

把电影剪辑中的声音设为流式声音,这样可以一边下载一边播放。如果数据量大,缓冲时间就设置长!

_focusrect

用法:MovieClip实体名._focusrect=参数值;

setProperty(MovieClip实体名,_focusrect,o或1);

用于指定当前获得焦点的按钮周围是否显示黄色矩形框。

点语法设置属性

setProPerty()

功能:当影片播放时更改影片剪辑的属性

语法格式:

setProPerty(要设置其属性的影片剪辑的实例名称的路径,要设置的属性,属性的新值)

影片剪辑路径的两种写法

_root.my_mc

_root[“my_mc”]

获取影片剪辑的值

getProperty()

功能:返回影片剪辑的指定属性值

格式:

getProperty(影片剪辑实例的路径,属性)

if else

格式:

if (条件) {代码块1}

else {代码块2}

说明:

如果条件成立则执行代码块1里面的代码,否则执行代码块2里面的代码

random(最大值)

转换为数字函数:

Number(变量)

如只想获得输入文本的值,则需把”自动调整字距”勾掉和取消”以html方式显示”

onClipEvent():

这个语句指专门给电影剪辑添加命令的语句,就像on语句是专门给按钮添加命令一样。

格式:

onClipEvnet(事件)

{

//代码块

}

影片剪辑事件类别

onClipEvent(load) 当影片片断第一次加载到时间轴时,会触发本事件一次

onClipEvent(enterFrame) 当影片片断加载时间轴时,不论是放映或停止状态或显示与否,都会不断触发本事件。所以只要此片断被加载后,此事件会一直不断地执行,直到影片片断被删除为止。onClipEvent(unload) 当影片片断被删除时,会触发本事件一次。onClipEvent(mouseDown) 当鼠标左键被按下时,会触发本事件一次。onClipEvent(mouseUp) 当被按下的鼠标左键被放开时,会触发本事件一次。

onClipEvent(mouseMove) 只要在场景中移动鼠标,就会不断触发本事件。

onClipEvent(keyDown) 当键盘被按下时,会触发本事件。onClipEvent(keyUp) 当已按下的键盘被松开时,会触发本事件一次

mouseMove,mouseDown,mouseUp和按钮里的三个事件是区别是,该三个事件可在影片的任何位置都可以触发事件,则在按钮中的三个事件,必须在按钮响应区域方可触发事件.

绘图函数moveTo

moveTo 定义绘制线条的起点位置

语法格式:moveTo(x, y)

功能:

将当前绘画位置移动到(x, y)

lineStyle 定义预绘制线条的样式

语法格式:

lineStyle(thickness, rgb, alpha)

功能:指定Flash 用于后续lineTo() 方法调用的线条样式,Thickness: 设置线条粗细(0-255)

Rgb: 设置线条的颜色(0xFF0000) 代表红色

Alpha: 不透明度

lineTo 把前面定义好的线划到什么地方去

语法格式:public lineTo(x, y)

功能:使用当前线条样式绘制一条从当前绘画位置到(x, y) 的线条;

keyDown:当按下某个键时启动此动作

使用Key.getCode()获取有在最后按下键的信息

左,上,右,下键对应代码为37,38,39,40

可通过输出Key.getCode()来获得按键的对应代码

Key.isDown (keycode)方法,可以检测参数(keycode)指定的按键是否被按下。如果被按下,返回true ,没有被按下,返回false

影片剪辑操作函数

o duplicateMovieClip()函数

o removeMovieClip()函数

o attachMovie()函数

示例:

?复制删除影片剪辑

?梅树开花

?草地开花

?下雨了

1startDrag()与stopDrag()

2swapDepths()s

getNextHighestDepth()

示例

?拼图

?可拖动像册

duplicateMovieClip()函数的作用是通过复制创建的影片剪辑的实例。在Flash作品中常见的倾盆大雨、雪花飘飘、繁星点点等动画特效格式:

duplicateMovieclip(目标、新实例名称、深度);

目标:要复制的影片剪辑的目标路径。

新实例名称:所复制的影片剪辑的唯一标识符。

深度:所复制的影片剪辑的唯一深度级别。深度级别是所复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换已占用深度上的影片剪辑。

使用注意:

当SWF 文件正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑中处于什么位置,在重复的影片剪辑中,播放头始终从第 1 帧开始。原始影片剪辑中的变量不会复制到重复的影片剪辑中。

复制得到的影片剪辑保持父级影片剪辑原来的所有属性,所以,原来的影片剪辑是静止的,复制后的影片剪辑也是静止的,并且一个叠放在另一个上。如果不给它们设置不同坐标,就只能看到编号最大的影片剪辑复本,而看不出复制的效果。复制得到的影片剪辑实例经常要与影片剪辑属性控制(特别是x,_y,_alpha,_rotation,_xscale,_yscale 等属性的控制)结合才能更好地发挥复制效果

removeMovieClip()删除指定影片剪辑

格式:

removeMovieClip(实例名)

attachMovie() 同duplicateMovieClip()函数

区别:

duplicateMovieClip() 中目标必须已经在舞台

attachMovie() 则不必库中属性action链接设置标示符

函数功能:使影片剪辑实例在影片中播放过程中可拖动。

语法格式:startDrag(目标,固定,左,上,右,下)

参数意义:

目标:表示要拖动的影片剪辑的目标路径。

固定是一个布尔值,指定的可拖动影片剪辑是锁定到鼠标指针位置中央(true),还是锁定到用户首次单击该影片剪辑的位置上(false)。此参数是可选的。

Left、top、right、bottom、这四个参数分别设置影片剪辑拖动在左、上、右、下的范围,注意相对于影片剪辑父级坐标的值,这些值指定该影片剪辑被约束的矩形。这些参数是可选的。

函数功能:停止当前的拖动操作

语法格式:stopDrag()

starDrag()可以作为影片剪辑的方法

Mc.startDrag();//实现影片剪辑的拖动

知识点:

swapDepths(参数) 设置该影片剪辑的深度设置为指定参数

getNextHighestDepth() 最高级深度,以确保影片剪辑出现在其它的上面

for

for(变量=初值;范围;步长) { 循环体}

for (i=0;i<10;i++)

{ trace(“欢迎进入as世界”); }

while

在某些情况下,无法确定循环需要执行的次数,就需要用来while循环

语法格式

while(表达式成立)

{

代码块

new Sound(mc) 定义一个声音对象

参数mc 指定该声音是属于哪个对象的

mySound.attachSound(id_string)连接到声音id_string

参数id_string 是该音乐在库里的导出标号

mySound.start(begin_num,loop_num)

参数begin_num,播放的位置,开头位置为0.loo_num 循环次数(默认为1) mySound.stop(id_string) 指定音乐停止播放

参数同:attachSound

mySound.getVolume(); mySound.setVolume(num);获取和设置音量(范围0~100) mySound.setPan(num); mySound.getPan();获取或设置声道偏移量(-100,100)-100表示纯左声道,100表示纯右声道

音乐也要设置属性标示符

数值运算函数

Number(a) 将a转换为数值

int(a) 将a转换为数值后取整

random(num) 随机返回0到num-1的一个整数

isNaN 判断是否为非数值

字符串运算函数

length(string) 返回string长度

substring(string,start_num,length_num) 返回string中第start_num开始,长度为length_num的子串

Mouse.hide() 隐藏鼠标指针

Mouse.show() 显示鼠标指针

new Date() 定义一个时间对象,其时间为当前系统时间

eg: var myDate = newDate();

myDate.getFullYear() 返回年份

myDate.setYear(year) 设置年份

myDate.getMonth 返回月份0表示一月,11表示十二月

fscommand(命令,参数) 该命令可以实现对影片浏览器,也就是FLASH PLAYER的控制,另外,配合javascript脚本语言,fscommand命令成为flash和外界沟通的桥梁

fscommand (”fullscreen”, ”true/false”);(全屏设置,true开,false关)fscommand (”showmenu”, ”true/false”);(右键菜单设置,true显示,false不显示)fscommand

(”allowscale”, ”true/false”);(缩放设置,true自由缩放,false调整画面不影响影片本身的尺寸)fscommand (”quit”);(退出关闭窗口)

载入动画,进度条,制作

_root.getBytesLoaded() //获取已下载字节

_root.getBytesTotal() //获取总字节

getTimer()//返回自SWF 文件开始播放时起已经过的毫秒数。

fscommand(命令,参数) 该命令可以实现对影片浏览器,也就是FLASH PLAYER的控制,另外,配合javascript脚本语言,fscommand命令成为flash和外界沟通的桥梁

fscommand浏览器和网络控制命令

fscommand (”fullscreen”, ”true/false”);(全屏设置,true开,false关)fscommand (”showmenu”, ”true/false”);(右键菜单设置,true显示,false不显示)fscommand (”allowscale”, ”true/false”);(缩放设置,true自由缩放,false调整画面不影响影片本身的尺寸)fscommand (”quit”);(退出关闭窗口)

mc.hitTest(“mc2”)

用来检测,mc影片剪辑是否与mc2相交

1.制作小猫运动的影片剪辑

2.制作点击出现小球的影片剪辑,并且小球一直向上上升,当升到场景顶端时,消失

3.设置小猫在不同状态下的运动方式。

4.在第一帧设置相关初始值:

小猫X运行速度,小猫y运行速度,小猫是否下落的状态

5.设置台阶等代码,但台阶与小猫相交时,让小猫为下落的状态,在不相交时,让小猫状态为下落;

5.制作小鱼的影片剪辑,当小鱼碰到猫时,显示小鱼被吃

6.设置小球与小猫相交时的响应代码:小猫状态为上升

7.完善相关分数显示,气泡的出现频率等

相关文档