FLASH动作脚本基本知识

FLASH动作脚本基本知识
FLASH动作脚本基本知识

FLASH动作脚本基本知识

第一讲动作脚本基本知识

一、动作脚本概念动作脚本就是Flash MX 为我们提供的各种命令,运算符以及对象,使用动作脚本时必须将其附加在按钮、影片剪辑或者帧上,从而使单击按钮和按下键盘键之类的事件时触发这些脚本。以便实现所需的交互性。

学习动作脚本的最佳方法是对其进行实际操作,即使对动作脚本没有完全理解,也不影响对其控制功能的使用,一样能够实现简单的交互性操作,经过一段时间的实践对基本的动作(如play 和stop)运用自如,对动作脚本略知一二后,就可以开始学习关于此语言的更多知识了。

二、动作脚本面板当我们为帧,按钮或影片剪辑指定动作时必须使用动作面板,动作面板的结构如示例1.1

三、基本动作控制命令

1 停止命令格式; stop();

说明动作;停止播放头的移动

2 播放命令

格式;play();

说明动作;在时间轴中向前移动播放头。

3 转移命令gotoAndPlay(scene, frame)

参数scene 播放头将转到的场景的名称。frame 播放头将转到的帧的编号或标签。

动作;将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。以上三个命令是动作脚本中最常用的基本动作,它们通过对时间轴上播放头的控制实现的特定功能,在对播放头实施控制时一般有多种方法可供选择,但最常用的是在坐标系内部实施控制和在不同坐标系之间实施控制,前者直接使用命令就可以实现目的(见示例1.2和示例1.3),后者则必须使用目标路径才能实现控制功能(见示例1.4和示例1.5)

四按钮

使用按钮元件可以在影片中创建响应鼠标点击、滑过或其它动作的交互式按钮。可以定义与各种按钮状态关联的图形,然后指定按钮实例的动作。请参阅为按钮指定动作。在单击或滑过按钮时要让影片执行某个动作。您必须将动作指定给按钮的一个实例;该元件的其它实例不受影响。

当为按钮指定动作时,必须将动作嵌套在on 处理函数中,并指定触发该动作的鼠标或键盘事件。当在标准模式下为按钮指定动作时,会自动插入on 处理函数,然后您可从列表中选择一个事件。您也可用动作脚本Button 对象的事件在发生按钮事件时执行脚本。************************************************

注释1:命令中的圆括号(1) 圆括号一般用来放置函数的参数以便传递这些参数,我们所学习的各种命令,也都可以称为函数.

例如gotoandplay(2);

数字"2"只有放在圆括号内,才能进行传递(2)表示运算符优先级当在同一语句中使用两个或多个运算符时,一些运算符会优先于其它的运算符。动作脚本按照一个精确的层次来确定首先执行那个运算符。例如,乘法总是先于加法执行;但是,括号中的项目会优先于乘法。因此,如果没有括号,动作脚本会在下面的示例中首先执行乘法:

to = 2 + 4 * 3;

结果为14。

但是当加法运算在括号内时,动作脚本会首先执行加法:

total = (2 + 4) * 3;

结果为18。

(3) 简化语句例如使用括号评估点语法中点左侧的表达式。例如,在下面的语句中,括号会使new Color(this) 评估并创建一个新的Color 对象:

onClipEvent(enterFrame) {

(new Color(this)).setRGB(0xffffff);

}

如果不使用括号,则需要添加一个语句来评估该表达式:

onClipEvent(enterFrame) {

myColor = new Color(this);

myColor.setRGB(0xffffff);

}

注释2 分号" ; "

动作脚本语句是用分号结束的。例如,下面的语句是用分号结束的:

_root.getDay();

如果省略了结束分号,Flash 仍然能够成功地编译脚本。但是,使用分号是一个很好的脚本撰写习惯。

******************************************************

小节本章重点:是学会如何使用基本命令和按钮控制影片剪辑1命令可以写在时间轴上2命令可以附加在按钮上3按钮有一些on事件关于动作面板和目标路径大家可以稍作了解,以后我们会在实例中经常讲

第二讲数据

一数据

我们思考一下计算机程序所作的一些事情,财务管理程序能够打印帐单,字处理程序能够输入和编辑文本,视频处理程序能够让我们观看影片和玩各种游戏,等等数不胜数,但所有程

序都有一个共同特点;他们都需要处理数据.flash中根据数据的处理方法的不同,对数据进行了分类,他们是;数值类型,字符串类型,布尔类型,对象类型,影片剪辑类型,未定义类型共六种.

计算机在处理这些数据的时候,必需使用某种方法存储这些数据,变量就是服务于该目的,所

以我们常说"变量是保存信息的容器",下面我们先看看几个最常用的数据

1 number (数值)类型

数值型数据指的是我们常用的数字。可以使用算术运算符加(+)、减(-)、乘(*)、除(/)、求模(%)、递增(++) 和递减(--) 来处理。也可使用内置的Math 对象的方法处理数字.使用Number()可以指定数据为数值类型.Number();又叫数值转换函数.

Number(...);

圆括号中放入要转换为数字的表达式

示例2.11

a=2;

b=10;

trace(a-b);

trace(math.abs(a-b));

c=Number(a)+Number(b);//指定a,b为数值型数据,然后求和

2 string(字符串)类型

字符串是诸如字母、数字和标点符号等字符的序列。将字符串放在双引号之间,可以在动作脚本语句中输入它们。字符串被当做字符,而不是变量进行处理。使用String()可以指定数据为字符串类型也可以将数值类型的数据转换为字符串型数据.String();又叫字符串转换函数.

String(...);

圆括号内为要转换为字符串的表达式。

如; c=String(a)+String(b); //指定a,b为字符串型数据.然后将a,b连接起来

例如,在下面的语句中,"L7" 是一个字符串:

a1 = "L7";

可以使用加法(+) 运算符连接或合并两个字符串。

例如

a1="mc"+"2";

trace(a1);

虽然动作脚本在引用变量、实例名称和帧标签时不区分大小写,但是文本字符串是区分大小写的。例如,下面的两个语句会在指定的文本字段变量中放置不同的文本,这是因为"Hell o" 和"HELLO" 是文本字符串。

invoice.display = "Hello";

invoice.display = "HELLO";

要在字符串中包含引号,可以在它前面放置一个反斜杠字符(\)。要换行时加入一个(\n)就可以了,这称为字符转义。

示例2.12换行和插入""号

on (release) {

dd = "中国老三届是我flash入门的地方,\n我的第一个作业是\"运动的光碟\".";

trace(dd);

}

3 boolean(布尔)类型

布尔值是true 或false 。动作脚本也会在需要时将值true 和false 转换为 1 和0。布尔值在进行比较以控制脚本流的动作脚本语句中经常与逻辑运算符一起使用。例如,在下面m c中的脚本中,如果变量a 为true,变量b也为true则会播放影片mc:

onClipEvent(enterFrame) {

if (b == true && a== true){

play();

}}

实例制作--数据观察

制作步骤

1 选择文本工具在属性栏选输入文本,字号20,颜色黑,在场景中点击构造一个输入文本框,同样的方法再构造一个文本框,并分别在属性面板的变量栏把变量命名为a和b

2选择文本工具在属性栏选动态文本,字号,颜色同上,在场景中点击构造一个动态文本框,在属性面板的变量栏把变量命名为为c,

3选择文本工具在属性栏选静态文本,在场景中制作"+"和"=",放在两个输入文本之间,其后面放"="号,在"="后放动态文本框,

4在公用库中拖出一个按钮,把它一个放在动态文本后面

5在第二帧插入一个关键帧,

6点击第一帧,又点击放在动态文本后面的按钮,打开动作面板输入一下脚本

on (release) { //按下并释放;

c=Number(a)+Number(b); //指定a,b为数值类型的数据,执行加运算后存入c中;

}

7点击第二帧,又点击放在动态文本后面的按钮,打开动作面板输入一下脚本

on (release) { //按下并释放;

c = String(a)+String(b); //指定a,b为字符串类型的数据,执行加运算后存入c中;

}

8新建图层2从库中把按钮拖出两次,旁边分别标注数值型和文本型

点击选中数值型按钮写

on (release) {

gotoAndStop(1);

}

点击选中文本型按钮写

on (release) {

gotoAndStop(2);

}

至此实例完成.通过本实例我们学会

1用动态文本显示数据,用输入文本输入数据

2如何指定数据类型

3字符串数据加法运算是把数据进行连接,数值类型是求和

4复习按钮的goto命令

第三讲关键字和变量

一标识符

flash中标识符是用于表示变量、属性、对象、函数或方法的名称。它的第一个字符必须是字母、下划线(_) 或美元记号($)。其后的字符必须是字母、数字、下划线或美元记号。例如,firstName 是一个变量的名称。

二关键字

关键字是有特殊含义的保留字。例如,var 是用于声明本地变量的关键字。不能使用关键字作为标识符。例如,var 不是合法的变量名。

flash中定义了一些保留关键字,所谓保留关键字就是flash系统已经严格定义了的一类标识符,它们具有固定的含义,不允许再定义或另作它用.flash中的关键字一共有32个,下表列出了所有动作脚本关键字.

break

case

class

continue

default

delete

dynamic

else

extends

for

function

get

if

implements

import

in

instanceof

interface

intrinsic

new

private

public

return

set

static

switch

this

typeof

var

void

while

with

下面我们先学习两个个关键字if和else

1 关键字if和else

if是用来对条件进行计算并判断其真假的一个关键字,使用if构成所谓的条件语句,它的应用格式为;

if(...) {

mmm

}else{

}

说明

圆括号中放入条件,这个条件的计算结果为true 时就执行大括号中的命令mmm。当这个条件计算结果为false时就执行else后面大括号中的命令nnn,

例如

if(2+3>1){ //计算并判断2+3的值是否大于1.如果大于1就输出一个"true"值,

gotoandstop(1); //如果判断结果为true, 就执行gotoadstop(1),

}else{ //如果判断结果为false,就执行gotandstop(2)

gotoandstop(2);

}

程序运行时关键字if首先计算2+3的值,然后判断2+3的值是否大于1,如果大于1则执行花括号中的语句,如果不大于1,则不执行else后面花括号中的语句.在实际应用中else有时被省略,省略后的形式为

if(2+3>1){

gotoandstop(1);

}

三常量

1在程序运行过程中,其值保持不变的量叫常量,常量的类型有number,string和boolean型,还有一种用标识符表示的常量叫符号常量.

2 数值型常量

"中国" 字符串型常量

true 布尔型常量,代表"真"

false 布尔型常量,代表"假"

null 表示"空值"

newline 表示插入一个回车换行符号

undefined表示没有被赋值的变量,没赋值的变量可以认为是常量,类似于null

四变量

变量是保存信息的容器。变量可以存储任何类型的数据:数字、字符串、布尔值、对象和影片剪辑。要使用变量必需首先把变量附加在某个位置上(如时间轴,影片剪辑,函数体中...),给他起一个名字,即命名变量,然后还得使用特定符号对变量进行声明.变量根据其使用范围可以分成全局变量和局部变量,若要测试变量的值,可以使用trace() 动作,

1 命名变量

变量名称必须遵守下面的规则:

它必须是标识符。

它不能是关键字或动作脚本文本,例如true、false、null 或undefined。

它在其范围内必须是唯一的。

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

2 声明变量

(1) " = "声明变量

格式expression1 = expression2

expression1 变量、数组元素或对象属性。

expression2 任何类型的值。

在flash mx中运算符" = " 执行赋值操作,判断两个值是否相等使用运算符" == ",

示例

下面的示例使用赋值运算符将数字数据类型赋予变量x。

x = 5

下面的示例使用赋值运算符将字符串数据类型赋予变量x。

x = "hello"

(2) var声明本地变量

格式var varriablenam [= m1] [...,varriablenam [=mi] ]

varriablenam 参数给出变量名

m1参数给这个声明的变量赋值

示例

var nam1;//变量被声明但没有赋值

var nam2=600;

var nam3="abcd",nam4="efg";//同时声明两个字符串变量

var mc_a=true;

var m,n,i,j=800;//同时声明四个变量,但只有变量j被赋值

var x;

var y = 1;

var z = 3, w = 4;

var s, t, u = z;

var nam=[1,2,3];

trace(nam[0]);

trace(nam[1]);

trace(nam[2]);

第四讲点语法和算术运算符

一点语法

在动作脚本中,点(.) 用于表明与对象或影片剪辑相关联的属性或方法。它还用于标识影片剪辑、变量、函数或对象的目标路径。点语法表达式以对象或影片剪辑的名称开始,后面跟着一个点,最后以要指定的元素结束。

示例1

_x 属性表示影片剪辑在舞台上的x 轴位置。表达式MC1._x 引用影片剪辑实例MC1 的_x 属性。

示例2

aa 是mc11 影片剪辑中设置的变量,此影片剪辑嵌在影片剪辑mc1 之中。表达式mc1.m c11.aa = true 将实例mc11的aa 变量设置为true。

表达对象或影片剪辑的方法遵从同样的模式。例如,MC 实例的play 方法在MC 的时间轴中移动播放头,如同下面的语句:

MC.play();

注;flash中方法的概念;方法指的是带有某种动作行为的函数或命令,其特征是在使用时后面加一个圆括号,如stop();

点语法还使用两个特殊别名,_root 和_parent。别名_root 是指主时间轴。您可以使用_root 别名创建一个绝对目标路径。例如,下面的语句调用主时间轴上影片剪辑mc 中的函数bu:

_root.mc.bu();

您可以使用别名_parent 引用当前影片剪辑的父级。也可使用_parent 创建相对目标路径。例如,如果影片剪辑mc11 嵌入影片剪辑mc1 的内部,则写在实例mc11 的如下语句会指示mc1 停止:

_parent.stop();

二目标路径

三算术运算符

算术运算符用来执行(number)数值类型的数据或表达式的算术运算操作,

1 " + "运算

格式expression1 + expression2

参数expression1、expression2 数字或字符串。

将数值表达式相加或者连接(合并)字符串。如果其中一个表达式为字符串,则所有其他表达式都被转换为字符串,然后连接起来。两个表达式都为整数时,和为整数;其中一个或两个表达式为浮点数时,和为浮点数。

示例

(1) trace (2 + 3);

(2) trace (2.5 + 3.25);

(3)

a = 1345;

b = "mc";

trace (a+b);

2 " - "运算符

减运算符用于用于符号反转或减法运算。

否定格式–expression(符号反转)

减法格式expression1 - expression2

示例

(1) -(2 + 3);语句将表达式2 + 3 的符号反转。

结果为-5。

(2) 5 - 2 ; //语句从整数5 中减去整数2

结果为3,是一个整数。

(3) 3.25 - 1.5 //语句从浮点数3.25 中减去浮点数1.5。

结果为 1.75,是一个浮点数。

3 " * " 运算

将两个数值表达式相乘。

格式expression1 * expression2

示例

(1) 2 * 3 //结果为6,是一个整数。

(2) 2.0 * 3.1416 //结果为6.2832,是一个浮点数。

4 "/"运算符

格式expression1 / expression2

说明将expression1 除以expression2。

示例

trace(22.0 / 7.0); //结果为3.1429,是一个浮点数。

5 "%"按模取余运算

格式expression1 % expression2

计算expression1 除以expression2 的余数。如果两个expression 参数中有一个是非数字值,则模运算符尝试将它们转换为数字。expression 可以是数字或转换为数值的字符串。示例

下面是一个使用模(%) 运算符的数字示例。

trace (12 % 5);// returns 2

trace (4.3 % 2.1);// returns approximately 0.1

需要注意的是,当被除数取整数,除数取2的时候其余非1即0,这种情况类似于布尔值,有时可用于逻辑控制,是一个很有用的特性.

6 ++自增量运算

格式++expression

expression++

说明

运算符(算术);将expression 加 1 的预先递增和滞后递增一元运算符。expression 可以是变量、数组元素或对象属性。此运算符的预先递增格式(++expression) 将expressio n 加1,然后返回结果。此运算符的滞后递增格式(expression++) 将expression 加1 并返回expression 的初始值(即加上1 之前的值)。

示例

(1)预先递增

x = 1;

y = ++x;

(2)滞后递增

x = 1;

y = x++;

(3)

x=1;

y=++x;

trace(x);

trace(y);

(4)

i=1;

j=i++;

trace(i);

trace( j);

5 " - - "运算

格式

- -expression

expression- -

运算符(算术);从expression 中减1 的预先递减和滞后递减一元运算符。此运算符的预先递减格式(--expression) 从expression 中减去1,然后返回结果。此运算符的滞后递减格式(expression--) 从expression 中减去 1 然后返回expression 的初始值(即减去 1 之前的值)。

示例

(1) 预先递减格

x = 3;

y = - -x;

(2)滞后递减格式

x = 3;

y = x- -

(3)i=2;

i=i-1;

trace(i);

(4)j=2;

j- -;

trace( j);

第五讲-赋值运算符和mc的属性

中国老三届脚本基础课教材2004.3.25

一赋值运算符

1 " = "赋值运算

格式expression1 = expression2

参数

expression1 变量、数组元素或对象属性。

expression2 任何类型的值。

说明

运算符;将expression2(位于右侧的参数)的类型赋予expression1 中的变量、数组元素或属性。

示例

下面的示例使用赋值运算符将数字数据类型赋予变量x。

x = 21;

下面的示例使用赋值运算符将字符串数据类型赋予变量x。

x = "hello";

2 "+="运算

格式;expression1+=expression2

参数;expression1、expression2 数字或字符串。

说明

运算符(算术组合赋值);将expression1 + expression2 值赋予expression1。例如,下面两个语句的结果是相同的:

x += y;

x = x + y;

此运算符也可以执行字符串连接运算。加法运算符(+) 的所有规则适用于加法赋值(+=) 运算符。

示例

(1)

x = 5;

y = 10;

x += y;

trace(x);

(2)

x = "My name is "

x += "Gilbert"

trace (x)//My name is Gilbert

3 "-="运算

格式;expression1、expression2 数字或计算结果为数字的表达式

说明

运算符(算术组合赋值);将expression1 -expression2 的值赋予expression1。例如,下面两个语句是相同的:

x -= y;

x = x - y;

字符串表达式必须转换为数字,否则返回NaN。

示例

(1)

x = 5;

y = 10;

x -= y

trace(x);//-5

(2)

x = "5";

y = "10";

x -= y;

trace(x);//-5

(3)

x = "a5";

y = "10";

x -= y;

trace(x);//NaN

4 *=运算

格式;expression1 *=expression2

说明

运算符(算术组合赋值);将expression1 *expression2 的值赋予expression1。例如,下面两个表达式是相同的:

x *= y

x = x * y

示例

(1)

x = 5;

y = 10;

trace (x *= y);//50

(2)

i = 5;

x = 4 - 6;

y = i + 2;

trace(x *= y);//-14

5 "/="运算

expression1/=expression2

参数;expression1、expression2 数字或计算结果为数字的变量。

说明

运算符(算术组合赋值);将expression1/expression2 的值赋予expression1。例如,下面两个语句是相同的:

x /= y

x = x / y

示例

x = 10;

y = 2;

x /= y;

6 "%="运算

格式;expression1%=expression2

说明

运算符(算术复合赋值);将expression1% expression2 的值赋予expression1。例如,下面两个表达式是相同的:

x %= y

x = x % y

示例

x = 14;

y = 5;

trace(x %= y);//4

二影片剪辑的属性

每个影片剪辑在建立时都继承影片剪辑类的所有属性,我们可以在程序中调用和设置这些属性,如果不设置这些属性系统会默认设置这些属性.研究mc的属性应该首先熟悉设置属性和调用属性的两个命令

1 setProperty(位于;动作--影片剪辑控制)

setProperty("target",property,value/expression)

参数

target 到要设置其属性的影片剪辑实例名称的路径。

property 要设置的属性。

value属性的新文本值。

expression 计算结果为属性新值的公式。

说明

动作;当影片播放时,更改影片剪辑的属性值。

示例

当单击按钮时,此语句将名为star 的影片剪辑的_alpha 属性设置为30%:

on(release) {

setProperty("star", _alpha, "30");

}

2 getProperty(位于;函数)

getProperty(instancename , property)

参数

instancename 要获取其属性的影片剪辑的实例名称。

property 影片剪辑的属性。

说明

函数;返回影片剪辑instancename 的指定property 的值。

示例

下面的示例获取影片剪辑mc1 的水平轴坐标(_x),并将其分配给变量mymc1x:

mymc1x = getProperty(_root.myMovie, _x);

本讲重点掌握

(1)赋值运算符" += "

(2)赋值运算符" -= "

(3)mc属性设置命令setProperty

(4)mc属性调用命令getProperty

第六讲按钮控制复习

第七讲比较运算符与mc属性

一比较运算符

1 "<"小于比较(lt)

格式;expression1 < expression2

参数;expression1、expression2 数字或字符串。

说明

运算符(比较);比较两个表达式以确定expression1 是否小于expression2;如果是,则该运算符返回true。如果expression1 大于或等于expression2,则该运算符返回false。使用字母顺序计算字符串表达式;所有的大写字母排在小写字母的前面。

示例

下面的示例举例说明数数值比较和字符串比较所返回的true 和false。

3 < 10;// true

10 < 3;// false

"Allen" < "Jack";// true

"Jack" < "Allen";// false

"11" < "3";//true

"11" < 3;// false

"C" < "abc";// false

cc="A" < "a";

trace(cc);//true

1 "<"小于比较(lt)

2 "<="小于等于(le)

3 ">"大于比较(gt)

4 ">="大于等于(ge)

5 "=="相等(eg)

6 "!="不相等(<>)

7 "==="严格相等

8 "!==="不严格相等

二影片剪辑属性2

1 透明度_alpha

格式

myMovieClip._alpha

说明

属性;设置或获取由MovieClip 指定的影片剪辑的Alpha 透明度(value)。有效值为0(完全透明)到100(完全不透明)。如果影片剪辑的_alpha 设置为0,虽然其中的对象不可见,但也是活动的。例如,依然可以点击一个_alpha 属性设置为0 的影片剪辑中的按钮。

示例

下面的语句在点击按钮时,将名为star 的影片剪辑的_alpha 属性设置为30%:

on(release) {

star._alpha = 30;

}

2 旋转_rotation

格式

myMovieClip._rotation

说明

属性;以度为单位指定影片剪辑的旋转。

3 可见性_visible

格式

myMovieClip._visible

说明

属性;一个布尔值,指示由MovieClip 参数指定的影片是否可见。不可见的影片剪辑(_visible 属性设置为false)处于禁用状态。例如,不能点击_visible 属性设置为false 的影片剪辑中的按钮。

第8讲逻辑运算与mc属性

一逻辑运算

1 逻辑非"!"(not)

格式

!expression

说明

运算符(逻辑);对变量或表达式的布尔值取反。如果expression 是绝对值或转换值为true 的变量,则!expression 的值为false。如果表达式x && y 的计算结果为false,则表达式!(x && y) 的计算结果为true。

下面的表达式说明使用! 运算符的结果:

!true 返回false

!false 返回true

2 逻辑与"&&"(snd)

格式

expression1 && expression2

说明

对一个或两个表达式的值执行布尔运算。计算expression1(该运算符左侧的表达式),当

此表达式的计算结果为false 时返回false。如果expression1 的计算结果为true,则计算expression2(该运算符右侧的表达式)。如果expression2 的计算结果为true,则最终结果为true;否则,为false。

3 逻辑或"||"(or)

格式

expression1 || expression2

参数

expression1、expression2 布尔值或转换为布尔值的表达式。

说明

运算符(逻辑);计算expression1 和expression2。如果其中任何一个或者两个表达式的计

算结果为true,则结果为true;只有当两个表达式的计算结果都为false 时,结果才为

false。逻辑OR 运算符可用于任意多个操作数;只要任意一个操作数的计算结果为true,则

结果为true。

对于非布尔表达式,逻辑OR 运算符使得Flash 对左侧的表达式进行计算;如果左侧的表达式

可以转换为true,则结果为true。否则,计算右侧的表达式,而且结果就是该表达式的值。二影片剪辑属性3

1 影片剪辑宽度_width

格式

myMovieClip._width

说明

以像素为单位设置和获取影片剪辑的宽度。

2 影片剪辑高度_height

格式

myMovieClip._height

说明

以像素为单位设置和获取影片剪辑的高度。

3 _x缩放系数_xscale

格式

myMovieClip._xscale

4 _y缩放系数

格式

myMovieClip._yscale

说明

xscale和_yscale的值代表了相对于库中原影片剪辑的横向尺寸width和纵向尺寸height的百分

比,100为影片剪辑在编辑时的大小,大于100时起放大作用,在0-100之间时起缩小作用,小于0时发生翻转.

第9讲影片剪辑事件与拖动

一OnclipEvet

前面我们主要练习了把命令写在时间轴的关键帧上和按钮上,其实我们还可以把命令写在影片剪辑上,我们知道命令写在按钮上的时候,必需首先写on事件例如;on(press){...}或者on(release){...}等等,用来表示鼠标在按钮上发生的动作,同样的道理当我们把命令写在影片剪辑上的时候必需首先写OnclipEvet.

事件处理函数OnclipEvet与on命令十分类似,不同的是on事件设置的是鼠标或键盘事件,而

OnclipEvet命令设置的是影片剪辑事件,它只能附加在影片剪辑上面,不能写在帧或按钮元件上.OnclipEvet的事件有九重,他们是

(1) load 当movieclip被下载到当前场景的时间轴上时触发load事件.

(2) unload 事件在当前场景的时间轴上,当movieclip被卸载时触发unload事件,在卸载后第一帧执行OnclipEvet命令设定的操作

(3) enterFrame 以影片帧频不断地触发此动作。

(4) mouseMove 每次移动鼠标时启动此动作。_xmouse 和_ymouse 属性用于确定当前鼠标位置。

(5) mouseDown 当按下鼠标左键时启动此动作。

(6) mouseUp 当释放鼠标左键时启动此动作。

(7) keyDown 当按下某个键时启动此动作。使用Key.getCode(); 方法获取最近按下的键的有关信息。

(8) keyUp 当释放某个键时启动此动作。使用Key.getCode() 方法获取最近按下的键的有关信息。

(9) data 当在loadV ariables 或loadMovie 动作中接收数据时启动此动作。当与loadV ariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。

二拖动命令

1 startDrag

格式

startDrag(target,[lock ,left ,top ,right,bottom])

参数

target 要拖动的影片剪辑的目标路径。

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

left、top、right、bottom 相对于影片剪辑父级坐标的值,这些坐标指定该影片剪辑的约束矩形。这些参数是可选的。返回无。

说明动作;使target 影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行startDrag 动作后,影片剪辑将保持可拖动状态,直到被stopDrag 动作明确停止为止,或者直到为其他影片剪辑调用了startDrag 动作为止。

示例1

若要拖动放在任何位置的影片剪辑,可将startDrag 和stopDrag 动作附加到该影片剪辑内的某个按钮上。

on(press) {

startDrag(this,true);

}

on(release) {

stopDrag();

}

第10讲鼠标

一捕获鼠标的坐标

我们可以用两种方法捕获鼠标的坐标,其一是用影片剪辑的_xmouse和_ymouse属性,是最常用的方法,其二是对影片剪辑设置跟随,获取该影片剪辑的坐标用来替代鼠标的坐标.获取鼠

标坐标的脚本可以写在时间轴上也可以写在影片剪辑上,下面我们使用影片剪辑的enterFram e()和mouseMove事件来做实验

1 影片剪辑的mouseMove事件

onClipEvent (mouseMove) {

_root.my_xmouse = _xmouse;

_root.my_ymouse = _ymouse;

}

2 影片剪辑的enterFrame事件

onClipEvent (enterFrame) {

_root.a=_root._xmouse;

_root.b=_root._ymouse;

}

3 设置跟随测试mc坐标替代鼠标坐标

onClipEvent (enterFrame) {

startDrag(_root.mc, true);

_root.a=getProperty(_root.mc,_x);

_root.b=getProperty(_root.mc,_y);

}

二鼠标隐藏与替换

1 隐藏命令hide与显示命令show

格式

Mouse.hide()

说明

方法;隐藏影片中的光标。默认情况下,光标可见。使用Mouse.show()可以把隐藏的鼠标显示出来.

示例

下列附加到主时间轴上的影片剪辑上的代码会隐藏标准光标,并将mc 影片剪辑实例的x 和y 位置设置为主时间轴中的x 和y 鼠标位置。这种方法可以省去设置鼠标拖动命令的替换

onClipEvent(enterFrame){

Mouse.hide();

_root.mc._x = _root._xmouse;

_root.mc._y = _root._ymouse;

}

第十一讲复制与mc的颜色设置

一复制duplicateMovieClip

1 duplicateMovieClip

格式

duplicateMovieClip(target, newname,depth)

参数 target 要复制的影片剪辑的目标路径。

newname 复制的影片剪辑的唯一标识符。

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

说明

动作;当影片正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑(或“父级”)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始。父影片剪辑中的变量不拷贝到复制的影片剪辑中。如果删除父影片剪辑,则复制的影片剪辑也被删除。使用 re moveMovieClip 动作或方法可以删除由 duplicateMovieClip 创建的影片剪辑实例。

示例1;当用按钮设置变量kk为1时,复制15次mc, 源文件见"命令写在帧上复制"

i++;

if(_root.kk==1){

duplicateMovieClip(_root.mc,"mc"+i,i);

flash动画脚本实例

按钮AS的编写 AS 脚本可以写在时间轴的关键桢上,也可以写在对象本身上面。按钮也既可以写在时间轴上,也可以写在按钮本身上面,这两种编写规则都要遵循一定的规矩。第一种:把脚本写在按钮本身 一、在舞台上绘制一个矩形, F8将这个矩形转换成按钮元件。 二、编写动作脚本: 选中按钮, F9打开动作面板,在专家模式下输入以下脚本: on(release){ getURL("https://www.360docs.net/doc/0e18825761.html,/","_blank") } 现在这个按钮就实现了一个打开网页的功能。通过例子你应该注意到,按钮的 AS 书写规则就是: on(事件){ //要执行的脚本程序,刚才的例子是用 getURL 来打开一个网页。你也可以使用脚本程序来 执行其他功能,例如跳转到某一个桢,或载入外部一个动画文件。 } 其实就一个 on语句,这个 on语句就是按钮的 AS 编写规则了。需要注意的是on 里面的事件,这个事件你可以理解为是鼠标或键盘的动作。刚才的例子我们使用的事件是 release(按一下鼠标)我现在把常用的按钮事件列出来: 事件名字说明 Press 发生于鼠标在按钮上方,并按下鼠标 Release发生在按钮上方按下鼠标,接着松开鼠标时。也就是“按 一下”鼠标 Releaseoutside发生于在按钮上方按下鼠标,接着把光标移动到按钮之 外,然后松开鼠标 Rollover当鼠标滑入按钮时 Rollout当鼠标滑出按钮时 Dragover 发生于按着鼠标不放,光标滑入按钮 Dragout发生于按着鼠标不放,光标滑出按钮 Keypress发生于用户按下特定的键盘按键时 第一种:把脚本写在时间轴上 一、选中按钮,在下面的属性面板中为按钮起一个名字bt 二、选中时间轴的第一桢,按 F9 打开动作面板。输入如下脚本: bt.onrelease = function() { getURL("http:// https://www.360docs.net/doc/0e18825761.html,/", "_blank"); }; 这种编写 AS 的方法要遵循的规则就是下面的公式而已: 按钮实例的名字.事件名称=function(){ //要执行的脚本程序。 } 大家只要记住这个公式就可以套用了。

flash动画代码中的flash动作代码大全

flash动画代码中的flash动作代码大全 一、几种Action命令 1.影片的播放与停止: Play( );//播放命令 stop( );//停止命令 2.改变Frame流向命令 gotoAndPlay(frame) //跳到指定的画面并连续播放。 gotoAndStop(frame) //跳到指定的画面并停止播放。 gotAndplay(“场景名称”,frame)//跳到指定场景帧并连续播放。 gotoAndStop(“场景名称:,frlme)//跳到指定场景帧并停止播放。 nextFrame( );//跳到下一帧播放; PrevPrame( );//跳到上一帧播放。 3.控制影片剪辑的播放与停止:tellTarget命令 如:tellTarget(“C1”) {gotoAndStop(2);}//跳影片剪辑实例C1的第2帧并停止。 二、几种功能元件的制作方法 1.计时器的制作 单击菜单Insert/new symbol,在弹出的对话框中输入插入的符号名称(如:计时器),确定后选择文字工具,属性为动态(Dynamic text),在第一帧中画两个文本框。分别设置变量名为munite和timer,在两个文本框之间画一个形如冒号的圆点(这两个圆点可以做成一个符号,类型为电影片段,每秒闪动一次.然后拖入到两文本框之间。在第二帧插入帧。在第一帧输入动作脚本(Action)如下: //设置时间的初值 if(!started) { start_time=getTimer(); started=true; timer=0; i=o; munite=0; } x=getTimer()-start_time;//计算时间的变化 x=int(x/1000); //时间的单位为1000分之一秒 y=x-60*i if (y>59) {i=i+1;munite=munite+1 timer=timer+1: } else {timer=y} 该符号制作完毕后。将其拖入主场景中即可。 2.智能判断选择题,并作正误提示 单击菜单Insert/new symbo1,在弹出的对话框中输入插入的符名称。如:“对错提示”。 符号类型为“电影片段”。在第一帧输入文本“在括号内输入答案,按enrer键确定“在 该帧上输入动作脚本: _root.flah=false;_root.ans=" ";gotoAndStop(1);在第16帧插入空关键帧。在该帧上 画一个形如“x”的图或输入文本“x”,在第30帧插入关键帧,帧AAction为_root.ans=" ":gotoAndStop(31);在第31帧插人空白关键帧,在该帧上输人静态文本“请重作,按e nter键确定。“在该帧输入脚本:“stop();”至此,该符号制作主或:例如:

Flash中的动作脚本

Flash中的动作脚本 1.1什么是ActionScript ActionScript是Flash的脚本语言。可以使用ActionScript控制Flash中的对象,创建向导和交互元素,也可以扩展Flash,制作高级交互影片和Flash交互网站。 1.2动作脚本所附加的位置 1.附着在按钮实例上 方法:选择场景中的按钮,单击鼠标右键,从弹出的快捷菜单中选择“动作”(Action),在打开的“动作”面板中添加ActionScript脚本。 使用:在动画播放时,发生按钮事件时,即会触发附着在其上对应事件的捕捉函数并运行该函数或指令。 2.附着在关键帧上 方法:在想要附着动作脚本的关键帧上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本。 使用:在动画播放时,只要该关键帧被播放一次,附着在它上面的脚本就执行一次。 显示:附着有动作脚本的关键帧会显示一个a。 3.附着在影片剪辑上 方法:在场景的影片剪辑上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本命令,该脚本就附着在影片剪辑上。 使用:当对影片剪辑发生各种事件时,就触发了附着在其上的捕捉函数,开始运行捕捉函数中的脚本命令。 1.3ActionScript相关述语 1.实例:属于某个类的对象,同类对象的实例具有该类对象的所有共同特性。例如每一个影片剪辑都是MovieClip类的一个实例,它们都具有_x、_y、_alpha 等属性。每个实例都对应着一个标识该实例的标识符,称为实例名称。要用程序控制或使用某个实例,就需要用到实例名称。例如,要让影片剪辑实例(名称为myCan)中的动画播放,可以使用如下脚本程序:“myCar.play();”。其中,myCar 表示实例名称,play()是MovieClip类的方法,它们之间用(.)连接起来。 2.对象:特定类的实例,是属性和方法的集合。按钮是对象,影片剪辑是对象。 3.事件:是SWF文件播放时对象所发生的动作。例如,单击按钮,按下键盘上的键,动画播放到某一帧等都是事件。 1)按钮事件 a)onDragOut:当在按钮上按下鼠标,只要按住左键移到按钮外,就会开始执行 相应的动作。 b)onDragOver:在按钮上按下鼠标,并按住移开按钮,然后又移到按钮上,并 且在些过程中一直没有释放,则开始执行相应的动作。

FLASH 脚本 语法

FLASH 脚本语法 1、FLASH脚本基础入门讲解、按钮AS的编写、影片剪辑的AS编写 认识“动作”面板 在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。 按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。左侧部分又分为上下两个窗口。。 左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。 下方是一个“脚本”导航器。里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被固定。 右侧部分是“脚本”编辑窗口,这是添加代码的区域。可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具,向“脚本”窗口添加动作。 在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。 ? 在使用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。将左面的窗口隐藏可以使“动作”面板更加简洁,方便脚本的编辑。 好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。 如何编写flash中的脚本 首先,要知道编写脚本,不需要用户对AS有完全的了解! 现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键桢上面(注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。 此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。当你在时间周的关键桢上添加了脚本,那么当flash运行的时候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。 还有一些简单的知识,AS中的对象都包括什么呢?它可以包含数据,也可以是舞台上的电影剪辑,也可以是舞台上的按钮等。既然包含了那么多对象,那么每种对象肯定有各自的属性!比如电影剪辑(movieclip)对象,它的:属性就有_height(高度),_rotation(旋转),等,这些属性不需要你去特意的记忆,当使用的时候可以随时翻阅脚本字典。在以后的教程中会陆续给大家介绍一些基础脚本的使用技巧。 二、需要学到的基本AS命令如下: stop()、play()、gotoandplay()、gotoandstop()、nextFrame()、prevFrame();、nextScene()、prevScene();、stopAllSounds(); 按钮的AS编写规则 播放 on (release) {

flash动作命令大全

Flash动作命令大全 外部调用swf on (release) { loadMovieNum("service.swf", 1); } 外部调用数据 loadVariablesNum("about.txt", 0); https://www.360docs.net/doc/0e18825761.html,eCodepage = true;//中文 音乐加入 mySound = new Sound(); mySound.attachSound("1"); mySound.start(); 关闭指定音乐 mySound.stop("1"); 外部调用音乐 mySound=new Sound(); mySound.loadSound("music.mp3",true); mySound.start(0,100) 关闭音乐 mySound.stop(); 链接场景: on (release) { gotoAndStop("猫的历史",1); } 清空文本框 _root.text="" On(Release) Set Variable:"input" = "" Set Variable:"output" = "" End On 轻松实现Flash的全屏播放 许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制 作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。 其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能。Fscommand指令使用的语法是:Fscommand("command","arguments") Command是指令的相关命令,arguments是命令的参数。 下面我们就来讲讲如何通过Fscommand指令来实现全屏播放、取消Flash播放时的右键 菜单以及关闭Flash动画。 1、全屏播放Flash

flash常用脚本代码

一、play命令(播放) 1、使用格式 play() 该命令没有参数,功能是使动画从它的当前位置开始放映。 二、stop命令(停止播放) 1、使用格式 stop() 该命令没有参数,功能是停止播放动画,并停在当前帧位置。 三、gotoAndPlay命令(跳至…播放) 1、使用格式 gotoAndPlay(frame) 参数说明: frame:跳转到帧的标签名称或帧数。 该命令用来控制影片跳转到指定的帧,并开始播放。 2、用法举例 gotoAndPlay(10) 以上动作代码的作用是:让播放头跳转到当前场景的第10帧并从该帧开始播放。 四、gotoAndStop命令(跳至…停止播放) 1、使用格式 gotoAndStop(frame) 参数说明: frame:跳转到帧的标签名称或帧数。 该命令用来控制影片跳转到指定的帧,并停止在该帧。 2、用法举例 gotoAndStop(10) 以上动作代码的作用是:让播放头跳转到当前场景的第10帧并停止在该帧。 五、stopAllSounds命令(停止所有音轨) 1、使用格式 stopAllSounds() 该命令没有参数用来停止当前FlashPlayer中播放的所有声音。 六、if...else语句(条件语句) 1、使用格式 if (条件) { 语句1; } else { 语句2; } 当条件成立时,执行“语句1”的容。当条件不成立时,执行“语句2”的容。2、用法举例

if(a>b) { //判断a是否大于b trace("a>b"); //若成立,则输出a>b } else { trace("b>=a"); //若不成立则输出b>=a } 七、switch...case...default语句(条件语句) 1、使用格式 switch (表达式) { case值1: 执行语句1; break ; case值2: 执行语句2; break ; …… default: 语句; } 先计算表达式的值,然后去各个case子句中寻找对应的执行语句。如果找不到对应的执行语句,就执行default后面的语句。 2、用法举例 var n:Number = 25; switch (Math.floor(n/10)) { case 1 : trace("number=1"); break; case 2 : trace("number=2"); break; case 3 : trace("number=3"); break; default : trace("number=?"); } 输出结果:number=2 八、while语句(循环语句) 1、使用格式 while (条件) { 执行的代码块;

FLASH动作脚本基本知识

FLASH动作脚本基本知识 第一讲动作脚本基本知识 一、动作脚本概念动作脚本就是Flash MX 为我们提供的各种命令,运算符以及对象,使用动作脚本时必须将其附加在按钮、影片剪辑或者帧上,从而使单击按钮和按下键盘键之类的事件时触发这些脚本。以便实现所需的交互性。 学习动作脚本的最佳方法是对其进行实际操作,即使对动作脚本没有完全理解,也不影响对其控制功能的使用,一样能够实现简单的交互性操作,经过一段时间的实践对基本的动作(如play 和stop)运用自如,对动作脚本略知一二后,就可以开始学习关于此语言的更多知识了。 二、动作脚本面板当我们为帧,按钮或影片剪辑指定动作时必须使用动作面板,动作面板的结构如示例1.1 三、基本动作控制命令 1 停止命令格式; stop(); 说明动作;停止播放头的移动 2 播放命令 格式;play(); 说明动作;在时间轴中向前移动播放头。 3 转移命令gotoAndPlay(scene, frame) 参数scene 播放头将转到的场景的名称。frame 播放头将转到的帧的编号或标签。 动作;将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。以上三个命令是动作脚本中最常用的基本动作,它们通过对时间轴上播放头的控制实现的特定功能,在对播放头实施控制时一般有多种方法可供选择,但最常用的是在坐标系内部实施控制和在不同坐标系之间实施控制,前者直接使用命令就可以实现目的(见示例1.2和示例1.3),后者则必须使用目标路径才能实现控制功能(见示例1.4和示例1.5) 四按钮 使用按钮元件可以在影片中创建响应鼠标点击、滑过或其它动作的交互式按钮。可以定义与各种按钮状态关联的图形,然后指定按钮实例的动作。请参阅为按钮指定动作。在单击或滑过按钮时要让影片执行某个动作。您必须将动作指定给按钮的一个实例;该元件的其它实例不受影响。 当为按钮指定动作时,必须将动作嵌套在on 处理函数中,并指定触发该动作的鼠标或键盘事件。当在标准模式下为按钮指定动作时,会自动插入on 处理函数,然后您可从列表中选择一个事件。您也可用动作脚本Button 对象的事件在发生按钮事件时执行脚本。************************************************ 注释1:命令中的圆括号(1) 圆括号一般用来放置函数的参数以便传递这些参数,我们所学习的各种命令,也都可以称为函数.

flash 动画代码中的flash动作代码大全

flash 动画代码中的flash动作代码大全flash动画代码中的flash动作代码大全 一、外部调用swf 代码 on (release) { loadMovieNum("service.swf", 1); } 二、音乐代码外部调用数据loadVariablesNum("about.txt", 0); https://www.360docs.net/doc/0e18825761.html,eCodepage = true;//中文 音乐加入 mySound = new Sound(); mySound.attachSound("1"); mySound.start(); 关闭指定音乐 mySound.stop("1"); 外部调用音乐 mySound=new Sound(); mySound.loadSound("music.mp3",true); mySound.start(0,100) 关闭音乐 mySound.stop(); 三、flash动画代码中的flash动作代码大全 链接场景: on (release) { gotoAndStop("猫的历史",1); } 外部调用 on (release) { loadmovienum("a.swf",1) } 清空文本框 _root.text="" On(Release)

Set Variable:"input" = "" Set Variable:"output" = "" End On 轻松实现Flash的全屏播放flash动画代码中的flash动作代码大全 许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开 场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按 钮后,全屏动画关闭。 其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能 。 Fscommand指令使用的语法是:Fscommand("command","arguments") Command是指令的相关命令,arguments是命令的参数。 下面我们就来讲讲如何通过Fscommand指令来实现全屏播放、取消Flash播放时的右键 菜单以及关闭Flash动画。 1、全屏播放Flash “Fullscreen”是全屏的意思,在默认的情况下,Flash动画不是以全屏播放(false ),如果需要让动画以全屏状态播放,就必须把Fullscreen命令设置为True,写为:Fscommand ("Fullscreen","True"); 根据需要,我们可以把它写到帧、按钮、MC(Movie Clip)中。 2、取消右键菜单 Showmenu命令是用来设置是(True)否(false)显示Flash动画播放器的快捷菜单的 全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一 帧这样设置: Fscommand ("showmenu","false"); 3、关闭动画 quit命令是用来关闭播放器的.swf和.exe文件,该命令没有参数,写为: fscommand ("quit"); 如果你想在flash动画结束时出现一个关闭动画的按钮,可以按下面的步骤做。 执行“Insert”下的“New Symbol”(或按Ctrl+F8),在弹出的窗口中选Button,然 后制作一个简单的按钮,回到场景中,选中最后一帧,从“Library”中把刚刚建立的按钮 拖到场景中,因为该按钮在动画的最后才显示。

FLASH脚本基础入门讲解、按钮AS的编写、影片剪辑的AS编写

1、FLASH脚本基础入门讲解、按钮AS的编写、影片剪辑的AS编写 2010-09-26 15:49:50| 分类:AS2.0课堂| 标签:flash教程|字号大中小订阅 由于近段时间装修办公楼,网络不通,老虎学习了“FLASH脚本”文字教程。走马观花看了一遍。下载的教程不是源版,里面的插图没了,个别句子不全,还有个别例题既没讲怎么作,也没讲要达到什么效果。还有些章节没讲透。总之,老虎觉得这个教程讲得简洁,实用性较强。希望学习的朋友,根据自己的需要来取舍。(由于时间紧,有些插图等老虎有空时再插进来) 一、FLASH脚本基础入门讲解 认识“动作”面板 在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。左侧部分又分为上下两个窗口。左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。 下方是一个“脚本”导航器。里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被固定。 右侧部分是“脚本”编辑窗口,这是添加代码的区域。可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具,向“脚本”窗口添加动作。在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适 时的使用它们的功能。 用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。将左面的窗口隐藏可以使“动作”面板更加简洁,方 便脚本的编辑。 好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。 如何编写flash中的脚本 首先,要知道编写脚本,不需要用户对AS有完全的了解! 现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键帧上面(注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。 此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。当你在时间轴的关键帧上添加了脚本,那么当flash运行的时候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。

关于flash动作脚本

关于Flash动作脚本--ActionScript ActionScript即动作脚本,简称AS。在Flash动画中,使用AS 可以使动画实现交互或完成某些特效。 一、AS要写在什么地方,什么时候AS被触发执行? 1、关键帧: 写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,写在这个帧上面的AS就被触发执行了。 例如要让影片播放完成后停在最后一关键帧,操作方法就是点选最后一帧关键帧,然后打开动作面板,在面板中输入stop()。 2、按钮: 不同于关键帧上面的AS,按钮上面的AS要有触发条件。要把AS 写在按钮上,操作方法是点选目标按钮,然后打开动作面板。 例如:假设有个按钮,效果是按下按钮后停止播放,那么步骤如下:做一个按钮,放到主场景,点选按钮,然后打开AS面板。现在如果也在按钮上写: on(release){ stop(); } //这里要比帧的动画多这些代码: on(release){} 其中release是鼠标的触发事件事件之一,作用是松开按钮,按钮的常用事件:

写在按钮上面的AS的格式:on(事件){要执行的代码} ,即按钮上的3、MC(影片剪辑) 写在影片剪辑上的AS和写在按钮上的大同小异。操作方法就是点选影片剪辑,然后打开动作面板。看个例子: onClipEvent(load){ stop(); } 这里load代表一个事件。影片剪辑的事件有下面这些: 写在MC上的代码格式: onClipEvent(事件){代码}

二、AS中的对象和方法 虽然AS不是真正的面向对象的编程,但它的概念贯穿整个AS的始终。 1、AS中的对象 新建一个Flash文件,先创建一个命令按钮,然后创建一个影片剪辑,将命令按钮拖到影片剪辑中,命名为“myBtn”。将影片剪辑拖到主场景中,命名为“myMC”。现在如何表示主场景、影片剪辑、和按钮呢?方法如下: _root――主场景(主时间轴) _root.myMC ――主场景中的剪辑myMC _root.myMC.myBtn ――主场景的剪辑myMC中的按钮myBtn 这里的_root是Flash的关键字,表示主场景的 Timeline (时间轴)。 2、AS中的方法 当你找到这个对象后,才能对对象进行操作,才能给对象施加方法。比如要主场景停止播放,就是使用 _root.stop(); 主场景中的影片剪辑停止播放,就是 _root.myMC.stop(); 3、点语法和路径

flash动画脚本

1.控制类动作,这些动作是在FLASH 最常用到的动作:gotoAndPlay (x)跳转并播放,他的作用是跳转的指定的影格并播放。参数X为要跳至的影格,如gotoAndPlay (1)就是跳至第一个影格并播放。Play () :开始播放影片。stop () :停止播放影片。getURL ("x"):通过浏览器或者其他程序调用参数X的url,如getURL ("mail tg@https://www.360docs.net/doc/0e18825761.html,")--就是给我写信了。stopAllSounds ():停止所有声音。toggleHighQuality ():将画质切换到高品质。print ( target, type ):打印影片剪辑,其中target为内容名称,type 为类型。fscommand ( command, arguments ):发送FS command 到影片中,如fscommand ( "quit" )就是退出影片播放。load/unloadMovieNum ("", 0):加载/卸载影片。tellTarget ( target ) :通知目标,用来控制以定义名称的影片播放,(target) 为目标。setProperty ( target, property, value ):设定目标对象属性值,property 为属性名,value为属性值。在ActionScript中包含的属性是很丰富的,我们在下面的属性篇有专门的介绍。delete :删除变量或者对象set ( name, value ):定义value 为变量值loadVariables ( url, target, method ):从URL中接受数据,一般用在读取外部的ASP、CGI、PHP程序。(我们做聊天室或者论坛就是靠的他了) 2.判断类动作if (<表达式>):假设...则....(基本上在什么语言里都有的语句。如果你连这个都看不懂的话,最好还是去看看编程的书) else:与if联用,如果表达式正确则执行if 后面的语句,如果表达式不正确则运行else后面的语句。ifFrameLoaded ():判断动画是否已经加载return ():在循环函数中返回值 3 函数类动作function name ():定义一系列的子程序,可以在其他的地方调用call ( frame ):调用指定的影格的子程序var :对本地变量进行定义 4 循环类动作while 、for、do....while :反复执行循环体内的程序continue :在嵌套循环中跳过终止循环,继续下一个循环break :终止循环二、运算符篇ActionScript 中为我们提供了大量的运算符,方便了我们程序的编写。其中包括算术运算符、逻辑运算符、字符串运算符、位运算符和混合运算符。算术运算符:+(加)、-(减)、*(乘)、/(除)、=(等于)。例如a= 10 ,b= 4 ,c= a*b ,c的值就是40 逻辑运算符:==(等于)、<> (不等于)、!>(不等于)、<(小于)、>(大于)、<=(小于或者等于)、>=(大于或者等于)、--(变量值减1)、++(变量值加1)、%(取余)、typeof(返回表达式类型)、void(返回不确定值)、and、(逻辑与运算)、&&(逻辑与运算)、||(逻辑或运算)、!(逻辑否运算)、not(逻辑否运算)。在算术运算符中的等于是赋值,在逻辑运算符中的等于是判断是否相等。例如if (i==1) {play ();},就是判断i是否等于1。递增运算符++和递减运算符--可以放在变量前后使用并且放在变量前后使用效果并不一样,放在变量前使用时表示变量在使用前+/-1,放在变量后使用表示变量在使用后+/-1。(如果还是不太明白,你只好去翻C语言书看看吧) 字符串运算符:add (连接前后两字符串)、eq(判断两字符串是否相等)、ne(判断两字符串是否不等)、lt(小于)、gt(大于)、le(小于或者等于)、ge(大于或者等于)。在表达式中被" "包含起来的符号就被认为是字符串,如a=\'123\'add"abc" ,a的值就是"123abc"。在字符串运算中ActionScript会自动把数字转化为字符串,同样在算术运算中ActionScript一样能把包含数字的字符串转化为数字。位运算符:%(按位与符号)、<<(左位移数字位)、>>(左位移数字位)、>>>(无标记右移)、^(按位异或))、|(按位或) 位运算在实际使用中并不常见,大家可以参考C语言手册进行学习。混合运算符:&=(字符连接后赋值)、%=(除法取余后赋值)、*=(乘法后赋值)、+=、-=、/=、<<=、>>=、>>>=、^=、|=与之类似。看完上面的介绍后,大家可以很清楚的看到,ActionScript中的运算符与其他的编程语言(C、BASIC等)极其类似,熟练掌握这些运算符对我们后面的制作是十分用帮助的。三、函数篇在任何一种编程语言中函数都是不可缺少的部分,在ActionScript也不例外,我们一起来看一下ActionScript所包含的函数。一般函数Boolean:转换及传回布尔值;escape:转换URL码符号成十六进制字符并以%区分显示;eval :将参数运算并回传值为变量;getProperty:取得对象参数;getTimer:取得影片开始播放的时间(以毫秒为单位);getVersion:取得系统FLASH 播放器的版本号;

flash动作脚本详解(免费)

详解 一、FLASH脚本基础入门讲解 (1) 二、按钮AS的编写 (4) 三、影片剪辑的AS编写 (5) 四、动态文本框 (6) 五、影片剪辑的拖拽 (8) 六、流程控制与循环语句 (10) 七、绘图及颜色的AS的编写 (12) 八、声音AS 的编写与控制 (14) 九、时间日期的AS编写 (17) 十、点语法以及路径 (18) 十一、深入了解时间控制 (20) 十二、无条件转移 (25) 十三、变量 (29) 十四、运算符(一) (35) 十五、变量(二) (39) 十六、影片剪辑的属性 (43) 十七、再讲循环语句 (49) 十八、影片剪辑处理函数 (55) 十九、复制影片剪辑 (60) 二十、深入startDrag()与stopDrag() (63) 二十一、for循环 (67) 二十二、while与do while循环 (71) 二十三、循环语句的嵌套 (75) 二十四、组件 (77) 二十五、播放器控制与网页连接以及动画发布输出 (80) 二十六、loadV ariables命令 (81) 二十七、影片剪辑的深度 (82) 二十八、文本框 (84) 二十九、超文本标签 (85) 一、FLASH脚本基础入门讲解 认识“动作”面板 在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。 按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。左侧部分又分为上下两个窗口。。

左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。 下方是一个“脚本”导航器。里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被固定。 右侧部分是“脚本”编辑窗口,这是添加代码的区域。可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具,向“脚本”窗口添加动作。 在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。 在使用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。将左面的窗口隐藏可以使“动作”面板更加简洁,方便脚本的编辑。 好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。 如何编写flash中的脚本 首先,要知道编写脚本,不需要用户对AS有完全的了解! 现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键桢上面(注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。 此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。当你在时间周的关键桢上添加了脚

Flash按钮动作代码、脚本代码大全

Flash按钮动作代码1、转下一帧并继续播放 on (release) { play(); } 2、转第三帧并播放 on (release) { gotoAndPlay(03); stopAllSounds(); } 3、全屏播放 fscommand("fullscreen", "true"); 4、退出 on (release) { if (substring(_root._url, 8, 1) == "/") { fscommand("quit"); } else { getURL("javascript:window.close()"); } // end if } 5、返回第一帧 on (release) { gotoAndPlay(01); stopAllSounds(); }

FLASH脚本代码大全- Go to 跳转到指定的帧 - Play 播放 - Stop 停止 - Toggle High Quality 在高画质和低画质间切换 - Stop All Sounds 停止所有声音的播放 - Get URL 跳转至某个超联结 - FSCommand 发送FSCommand命令 - Load Movie 装载影片 - Unload Movie 卸载影片 - Tell Target 告知目标 - If Frame Is Loaded ..判断帧是否被完全载入 - On Mouse Event 鼠标事件 。其他Actions。包括: - break 跳出循环 - call 调用指定帧(一般喊有某个特定函数) - comment 注释 - continue 继续循环 - delete 删除一个对象(Object)中的变量 - do while do while循环 - duplicateMovieClip 复制MC

FLASH实用代码大全

FLASH实用代码大全(2008-07-17 21:34:49) 标签:电脑mc 场景关键帧位图图像杂谈分类:转载 外部调用swf on (release) { loadMovieNum("service.swf", 1); } 外部调用数据 loadVariablesNum("about.txt", 0); https://www.360docs.net/doc/0e18825761.html,eCodepage = true;//中文 音乐加入 mySound = new Sound(); mySound.attachSound("1"); mySound.start(); 关闭指定音乐 mySound.stop("1"); 外部调用音乐 mySound=new Sound(); mySound.loadSound("music.mp3",true); mySound.start(0,100) 关闭音乐 mySound.stop(); 链接场景: on (release) { gotoAndStop("猫的历史",1); } 外部调用 on (release) { loadmovienum("a.swf",1) } 清空文本框 _root.text="" On(Release) Set V ariable:"input" = "" Set V ariable:"output" = "" End On 轻松实现Flash的全屏播放 许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash 制 作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。 其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。 Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。 Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中 ,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能 。 Fscommand指令使用的语法是:Fscommand("command","arguments") Command是指令的相关命令,arguments是命令的参数。 下面我们就来讲讲如何通过Fscommand指令来实现全屏播放、取消Flash播放时的右键 菜单以及关闭Flash动画。 1、全屏播放Flash “Fullscreen”是全屏的意思,在默认的情况下,Flash动画不是以全屏播放(false ),如果需要让动画以全屏状态播放,就必须把Fullscreen命令设置为True,写为:Fscommand ("Fullscreen","True"); 根据需要,我们可以把它写到帧、按钮、MC(Movie Clip)中。 2、取消右键菜单 Showmenu命令是用来设置是(True)否(false)显示Flash动画播放器的快捷菜单的 全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一 帧这样设置: Fscommand ("showmenu","false"); 3、关闭动画 quit命令是用来关闭播放器的.swf 和.exe文件,该命令没有参数,写为:fscommand ("quit"); 如果你想在flash动画结束时出现一个

flashas2.0基本脚本命令

1.play();播放影片 2.stop();停止影片播放 3.on(release){ play(); } 当按下鼠标并释放时,播放影片press点击、按下鼠标 4.on(press){ gotoAndStop(10) ;} 当按下鼠标时,跳转到当前场景第10帧并停止影片播放 on(press){ gotoAndPlay(10) ;} 当按下鼠标时,跳转到当前场景第10帧并播放影片 on(press){ gotoAndPlay(“场景名”,10) ;} 指定场景gotoAndPlay(10) ; 跳转到当前场景第10帧并播放影片播放gotoAndStop(10) ; 跳转到当前场景第10帧并停止影片播放5.nextScene();跳转到下一个场景并停止播放; prevScene();跳转到上一个场景并停止播放; nextFrame();跳转到下一个帧并停止播放; prevFrame();跳转到上一个帧并停止播放; 6.stopAllSounds();停止播放所有声音 7.getURL("https://www.360docs.net/doc/0e18825761.html,", "_blank");打开新的空白网页中网址;_self当前网页 8.fscommand("fullscreen", "true"); 自动全屏 on(release){fscommand("quit", "true");}单击按钮退出影片播放

Ctrl+Enter测试影片;F9打开动作面板; F8打开转换元件对话框;F7插入空白关键帧 F6插入关键帧;F5插入普通帧; 元件类型:图形元件、按钮元件、影片剪辑元件文本框类型:静态文本、动态文本、输入文本按钮包括4帧:弹起、鼠标经过、按下、点击

FLASH AS动作脚本语言的语法规则

1.动作脚本语言的语法规则的操作技巧详解。 (包括点语法、大括号、括号、分号、//注释、常数、字符串、实例名称等语法规则的操作技巧详解)。 教学目的:使学员全面快速掌握编写动作脚本语言的语法规则和专业词语的真正含义作用功能等。 技巧经验 知识要点 1、要想学好FLASH的动作脚本语言,我们必须要掌握它的常见的语法规则。 2、点语法:用"."表示对象或者影片剪辑元件的相关属性、方法、路径、变量、函数等。 例1:表示一个影片剪辑元件的X坐标属性,它的语法是:ball_mc._x 其中ball_mc是一个影片剪辑元件,_x是该元件的X坐标属性。 例2:表示一个影片剪辑元件的方法,它的语法是:ball_mc.play() 其中ball_mc是一个影片剪辑元件,play()是该元件的方法,表示对该元件进行播放。 3.另外点语法还有几个重要的别名,必须要掌握: A:_root表示绝对路径,它指的是时间主轴(场景中的时间轴是主轴,影片剪辑元件等中的时间轴是子轴)。 例如:_root.play() 表示要时间主轴进行播放。 B:_parent表示当前影片剪辑的上一级时间轴(如:一级子轴的上一级时间轴是主轴,二级子轴的上一级时间轴是一级子轴)。例如:在当前影片剪辑的内部时间 轴上写入代码是,_parent.play() 表示当前影片剪辑内部的时间轴的上一级时间轴进行播放。C:this表示当前时间轴,可以操控当前时间轴上的对像等。 例如:this.play() 表示要当前时间轴进行播放。 4.大括号:用"{ }"表示把动作脚本语言组合成块(一个完整的语句)。 5.括号:用"()"表示放置函数的参数,要注意的是参数都必须放在括号内。 6.分号:用";"表示1行语言代码的结束。 7.大小写字母:在动作脚本语言中,除了关键字以外是不区分字母的大小写的。 8.注释:用"//"表示注释。注释中的内容不影响程序的运行,目的是更好的理解和备忘自己的程序。它要求单独放在一行。如:// 定义对象属性。 9.关键字:在动作脚本语言中,像break、for、if、this、new、delete、while、whith等,它们本身是语言命令,不能用作变量、自定义函数或其他的标签名称,它们也称为保留关键字。 10.常数:指值始终不变的属性。如backspace、enter、space、tab等,它们是KEY对象的属性,指代键盘的按键。 11.数据类型:包括8大类型,分别是字符串、布尔值、对象、未定义等。 12.字符串:是由字母、数字、空格、标点符号等组成的字符的序列。可以用双引号("")来定义字符串,字符串区分大小写。如:text1="welcome",其中双引号中的welcome是字符串。 13.布尔值:是逻辑变量,它的值是true(真)或false(假)。 14.对象:是属性的集合,可以互相包含和嵌套,每个属性都有自已的名称和值。 如:https://www.360docs.net/doc/0e18825761.html,c,它表示ccc是bbb的属性,而bbb又是aaa的属性。 15.为规范和方便动作脚本语言的编写,最好能够给实例名称加上一个后缀,表示它的对象类型。 如:ball_mc ,其中后缀mc表示影片剪辑类。ball_btn ,其中后缀btn表示按钮类。等等.... 16.下面是常用后缀和其相应的对象类型。 后缀所属的对象类型

相关文档
最新文档