Flash脚本语言大全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
flash脚本大全
1.你先学会加动作的三种方式:在帧上加,在mc上加,在按钮上加.用play stop goto这三个命令反 复练习.不要用太多的命令给自己吃迷晕药.用实例练,不要空练.
2.会了我说的1后,要学给按钮加动作的8种方法和给mc加的9种方法.
3,会了我说的2了,就要学个编程最基础最重要的东西----路径的描述(能看懂就能用)
1>_root.mc1.mc2. ... mcn.play()[或stop(), _x, .......]
2>_parnet
3>this
4>mc1.mc2. ...
5>_leveln.mc1.mc2. ... mcn.play()[或stop(), _x, .......]
练习这样个实例对你也许有帮助, 把一首你喜欢听的歌随意放在某个mc中,随
意地在某个mc或按钮上加动作去控制它,想让它停就停,想让它放就放.
4。遇到问题,自己想办法解决,不要老是依*别人,在自己做过之后还是不行的话可就要发问拉,当然问的方法要好多种,这里就不说拉!
5.要自强自信,不要迷信洋人的东东,活学活用重在理
6.了解代码执行的先后顺序:
图层默认的是从下向上执行
level是从下向上执行
帧是随实际播放顺序执行
代码本身从上向下一行一行地执行
7.了解两种坐标系统:
场景下的坐标,o点在左上角,y轴向下是增大 x向右是增大
组件的坐标,o点在组件中心,y轴向下是增大 x向右是增大
8.了解三种文本域
静态文体域:和排版软件的文字工具一样.
动态文本域和输入文本域:其实就把它们看是两种变量,只不过是可见的变量,
9.详细了解GOTO语句
prevFrame()
跳至并停止在前一祯。
nextFrame()
跳至并停止在下一祯。
prevScene()
跳至并停止在前一场景的第1帧。
nextScene()
跳至并停止在下一场景的第1帧。
gotoAndPlay([scene,] frame)
跳至scene场景(省略表示当前场景)的frame帧并播放。
gotoAndStop([scene,] frame)
跳至scene场景(省略表示当前场景)的frame帧并停止。
10,了解MC的各种可改写的属性
_x 中心点所在相对X坐标(象素单位)
_y 中心点所在相对Y坐标(象素单位)
_xscale 横向缩放比例,初始为100
_yscale 纵向缩放比例,初始为100
_rotation 相对旋转角度(度单位)
_width 相对显示宽度(象素单位)
_height 相对显示高度(象素单位)
_alpha 显示透明度(0~100)
_visible 是否可见
_focusrect 是否显示焦点框
_name 实例名称
11,三大纪律:1>写代码时一定要用英文(如EN CH)输入法
2>必须要有唯物主义思想,没有加载的MC是不可以更改它的属
性,更不可以写代码去控制它。这个问题较难掌握,高手有时也会
犯,道理就是先有吃的才能请客吃,啥也没有请客吃什么呢
3>操作什么一定要选什么(实际上哪个软件也要这样)。在MX中加代
码时如不选,就一定要写明名称,实际上也是一种先择。
12,八项注意:1>按
钮不能盖着输入文本,动态文本和输入文本域不能盖着按钮
2>用loadMoie时LEVEL1及以上的文件尽量少用大隐型按钮
3>从一个文件中复制MC实例到别一个文件中时,尽量复制帧,而不能直接
复制实例,
4>从一个文件中复制MC实例到别一个文件中时,要先把目标文件中的符
号库中原有的符号,装进资夹里,很多网友这个问题上上过当吧?
FLASH脚本教程:flashAS基础<二>
Actionscript的基本语法规则
使用Actionscript编写脚本时,如果使用正常模式的动作面板,通过菜单和列表选择选项,可以创建简单的动作。要想用Actionscript编写功能强大的脚本,你就必须深入了解和学习Flash MX的Actionscript脚本语言。
像其它脚本语言一样,Actionscript也有变量、函数、对象、操作符、保留关键字等语言元素,有它自己的语法规则。Actionscript允许用户创建自己的对象和函数。Actionscript的语法和风格与javascript非常相似,但不完全相同。Actionscript拥有自己的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中用句号结束一个句子,而在Actionscript中则用分号结束一个语句。
下面列出的是Actionscript的一些基本语法规则,对于比较比较特别的规则,请参阅Actionscript词典。
1.点语法
在Actionscript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。它也用标识指向电影剪辑或变量的目标路径。点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性、方法或变量。例如,表达式ballMC.x是指电影剪辑实例ballMC的_X属性,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置。
例如,submit是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑shoppingCart中的电影剪辑。表达式shoppingCart.form.submit=true的作用是设置实例form的submit变量的值为true。
表达一个对象或电影剪辑的方法遵循相同的模式。例如,ballMC实例的play方法用于移动ballMC的时间轴播放头,就像下面的语句:
ballMC.play();
点语法使用两个特殊的别名:_root和_parent。别名_root是指主时间轴。可以使用_root别名创建一个绝对路径。例如,下面的语句调用主时间轴中电影剪辑functions的buildGameBoard函数:
_root.functions.buildGameBoard();
Flash MX允许使用别名_parent来引用嵌套当前电影剪辑的电影剪辑。也可以用_parent创建一个相对目标路径。例如,如果电影剪辑dog被嵌套在电影剪辑animal之中,那么,在实例dog上的下列语句告诉animal电影剪辑停止播放:
_parent.stop();
FLASH脚本教程:flashAS基础<三>
2.斜杠语法
Flash的以前版本是使用斜
杠语法指出电影剪辑或变量的目标路径的。Flash MX播放器仍然支持这种语法,但不推荐使用。在斜杠语法中,斜杠被用来代替点,用以标明电影剪辑或变量的路径。要指出一个变量,可以在变量前加上冒号,如下面的语句所示:
myMovieClip/childMovieClip:my variable
我们现在用点语法取代上述斜杠语法来表示上面的目标路径:
myMovieClip.childMovieClip.myvariable
斜杠语法在tellTarget动作中使用最为普遍,但这种动作在Flash MX中已不再推荐使用。
【说明】与其使用tellTarget动作还不如使用with动作与点语法兼容。
3.大括号
Actionscript语句用大括号({})分块,如下面的脚本所示:
on(release){
myDate = new Date();
currentMonth = myDate.getMonth();
}
4.分号
Actionscript语句用分号(;)结束,但如果你省略语句结尾的分号,Flash仍然可以成功地编译你的脚本。例如,下面的语句用分号结束:
colum = passedDate.getDay();
row = 0;
同样的语句也可以不写分号:
colum = passdDate.getDay()
row = 0
FLASH脚本教程:flashAS基础<四>
5.圆括号
定义一个函数时,要把参数放在圆括号中:
function myfunction (name, age, reader){
…
}
调用一个函数时,也要把要传递的参数放在圆括号中:
myfunction ("Steve",10,true);
圆括号可以用来改变Actionscript的运算优先级,或使自己编写的Actionscript语句更容易阅读。
也可以用圆括号来计算点语法点左边的表达式。例如,在下面的语句中,圆括号使表达式new color(this)得到计算,并创建了一个新的颜色对象:
onClipEvent(enterFrame){
(new Color(this)).setRGB(oxffffff);
}
在上例中,如果不使用圆括号,就需要在代码中增加一个语句来计算它:
onClipEvent(enterFrame){
myColor = new Color(this);
myColor.setRGB(0xffffff);
}
6.大小写字母
在Actionscript中,只有关键字区分大小写。对于其余的Actionscript,可以使用大写或小写字母。例如,下面的语句是等价的:
cat.hilite = true;
CAT.hilite = true;
但是,遵守一致的大小写约定是一个好的习惯。这样,在阅读Actionscript代码时更易于区分函数和变量的名字。如果在书写关键字时没有使用正确的大小写,你的脚本将会出现错误。例如下面的两个语句:
setProperty(ball,_xscale,scale);
setproperty(ball,_xscale,scale);
前一句是正确的,后一句中property中的p应是大写而没有大写,所以是错误的。在动作面板中启用彩色语法功能时,用正确的大小写书写的关键字用蓝色区别显示,因而很容易发现关键字的拼写错误。
FLASH脚本教程:flashAS基础<五>
7.注释
需要记住一个动作的作用时,可在动作面板中使用comment(注释)语句给帧或按钮动作
添加注释。如果你在协作环境中工作或给别人提供范例,添加注释有助于别人对你编写的脚本的正确理解。
在动作面板中选择comment动作时,字符“//”被插入到脚本中。如果在你创建脚本时加上注释,即使是较复杂的脚本也易于理解,例如:
on(release){
//建立新的日期对象
myDate = new Date();
currentMonth=myDate.getMonth();
//把用数字表示的月份转换为用文字表示的月份
monthName = calcMoth(currentMonth);
year = myDate.getFullYear();
currentDate = myDate.getDat();
}
在脚本窗口中,注释内容用粉红色显示。它们的长度不限,也不影响导出文件的大小。
8. 关键字
Actionscript保留一些单词,专用于与本语言之中。因此,不能用这些保留字作为变量、函数或标签的名字。下表列出了Actionscript中所有的关键字:
break continue delete else
for function if in
new return this typeof
var void while with
【注意】这些关键字都是小写形式,不能写成大写形式。
9.常量
常量有其值永不改变的属性。常数用大写字母列于动作工具箱中。例如,常数BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key对象的属性,指键盘上的键。要测试用户是否在按Enter键,可使用下面的语句:
if(keycode()= =key.ENTER){
alert = "你准备好了吗?"
controlMC.gotoAndStop(5);
}
Actionscript中的术语
Actionscript根据特定的语法规则使用特定的术语。以下按字母顺序介绍重要的Actionscript术语.
Actions(动作):是指导Flash电影在播放时执行某些操作的语句。例如,gotoAndStop动作就可以将播放头转换到指定的帧或帧标记。Action(动作)也可以被称作statement(语句)。
Arguments(参数):是允许将值传递给函数的占位符。例如,以下语句中的函数welcome就使用了两个参数firstName和hobby来接收值:
function welcome(firstName,hobby) {
welcomeText = "Heelo," + firstName + "I see you enjoy" + hobby;
}
Classed(类):是各种数据类型。用户可以创建“类”并定义对象的新类型。要定义对象的类,用户需创建构造器函数。
Constants(常量):是不会改变的元素。常量对于值的比较非常有用。
Constructors(构造器):是用来定义“类”的属性和方法的函数。以下代码通过创建Circle构造器函数生成了一个新的Circle类。
function Circle(x, y, radius) {
this.x = x;
this.y = y;
this.radius = radius;
}
Dat
FLASH脚本教程:flashAS基础<六>
TYPES(数据类型):是可以执行的一组值和操作。ACTIONSCRIPT的数据类型包括:字符串、数值、逻辑值、对象和影片剪辑。
EVENTS(事件):是在电影播放过程中发生的动作。例如,当电影裁入时、当播放头到达某一帧时、当用户单击按钮或影片剪辑时、当用户按压键盘上的按钮时,都会产
生不同的操作。
EXPRESSIONS(表达式):是可以产生值的语句。例如2+2就是一个表达式。
FUNCTIONS(函数):是可以重复使用和传递参数的代码段,可以返回一个值。例如,GETPROPERTY函数就可以使用影片剪辑的实例名称和属性名称,返回属性值。GETVERSION函数可以返回当前播放电影的FLASH播放器的版本。
HANDLERS(句柄):是可以管理诸如MOUSEDOWN和LOAD事件的特殊动作。例如,ONMOUSEEVENT和ONCLIPEVENT就是ACTIONSCRIPT的句柄。
IDENTIFIERS(标识符):是用来指示变量、属性、对象、函数或方法的名称。标识符的首字母必须是字符、下划线(_)或美元符号($)。后续字符可以是字符、数字、下划线或美元符号。例如,FIRSTNAME就是一个变量名。
INSTANCES(实例):是属于某些CLASS(类)的对象。每个类的实例都包含该类的所有属性和方法。例如,所有影片剪辑实例都包含MOVIECLIP类的属性(透明度属性、可见性属性)和方法(例如GOTOANDPLAY、GETURL等)。
INSTANCE NAMES(实例名称):是一个唯一的名称。可以在脚本作为目标被指定。
KEYWORDS(关键字):是具有特殊意义的保留用词。例如,VAR就是一个关键字,它可以用来定义本地变量。
METHODS(方法):是指定给对象的函数。在函数被指定给对象之后,该函数就可以被称为是该对象的方法。
OBJECTS(对象):是属性的集合。每个对象都有自己的名称和值。对象允许用户访问某些类型的信息。例如,ACTIONSCRIPT的预定义对象DATE就提供了系统时钟方面的信息。
OPERANDS(运算项):是由表达式中的运算符操控的值。
OPERATORS(运算符):可以从一个或多个值中计算获得新值。例如,将两个数值相加就可以获得一个新值。
PARAMETERS(参数):也被称之为ARGUMENTS(参数)。
PROPERTIES(属性):是定义对象的ATTRIBUTER(属性)。例如,所有影片剪辑对象都具有_VISIBLE(可见性)属性,通过该属性可以决定影片剪辑是否显示。
TARGET PATHS(目标路径):是FLASH电影中影片剪辑名称、变量和对象的垂直分层结构地址。主时间轴的名称是_ROOT。影片剪辑属性检查器中可以命名影片剪辑的实例。
用户可以通过目标路径使动作指向影片剪辑,也可以使用目标路径获取或设置变量的值。例如,以下示例语句就是影片剪辑STEREOCONTROL内部的变量VOLUME的路径:
-ROOT.STEREOCONTROL.VOLUME
VARIABLES(变量):是存储了任意数据类型值的标识符。变量可以创建、修改和更新。变量中存储的值可以被脚本检索使用。在以下的示例中,等号左边的是变量标识符,右边的则赋予变量的值:
X = 5;
NAME = "LOLO";
CUSTOMER.ADDRESS = "66 7TH STREET";
C = NEW COLOR(MCINSTANCENAME);
FLASH脚本教程:flashAS基础<七>
编写ACTIONSCRIPT脚本
编写FLASH动作
脚本并不需要用户对ACTIONSCRIPT有完全的了解,用户的需求才是真正的目标。有了设计创意之后,用户要做的就是为此选择恰当的动作、属性、函数或方法。学习ACTIONSCRIPT的最佳方法是创建脚本。用户可以在动作面板的帮助下建立简单脚本。一旦熟悉了在电影中添加诸如PLAY和STOP这样的基础动作之后,用户就可以开始学习更多有关ACTIONSCRIPT的知识。要使用ACTIONSCRIPT的强大功能,最重要的是了解ACTIONSCRIPT语言的工作原理:ACTIONSCRIPT语言的基础概念、元素以及用来组织信息和创建交互电影的规则等。
1.脚本的规划和调试
在为整个电影编写脚本时,脚本的数量和变化可以可能都是巨大的。例如,用户可能需要考虑以下问题:决定使用哪些动作,如何建立更有效的脚本结构,以及在哪些地方放置脚本?所有这些问题都需要经过仔细规划和测试。特别是当电影变得越来越复杂时,这些问题更加显得突出。
在开始编写脚本之前,用户需明确自己要达到的目标。例如,这些目标可能是
使用FLASH创建整个站点。
? 询问站点访问者姓名,并且在整个站点中重复使用该信息。
? 站点具有一个可拖动的导航工具栏,可以帮助用户跳转到站点的任意分支。
? 当某一个按钮被单击时,新的内容以淡入方式出现在舞台中央。
? 专门设立一个和用户联系的场景,其中包含已经填入用户姓名的表单。
在明确了制作动画要达到的目的之后,用户就可以开始创建对象并编写脚本来控制这些对象。
让脚本按照自己需要的方式工作,这通常比编写脚本要花费时间。用户需要经常不断地测试自己的脚本是否工作正常。为达到目的,最好的方法是从简单脚本开始,频繁测试,编写并测试完一部分可正常工作的脚本之后,就可以保存文件的一个版本。这种工作方法可以帮助用户更有效地调试脚本错误,在编写更加复杂的脚本时也有坚实的基础。
2.面向对象的脚本编程
在面向对象的编程方法中,用户通过将信息分类成组来组织信息。用户可以创建某一类信息的多个实例,以便在脚本中使用。用户可以使用ACTIONSCRIPT预定义的CLASS(类),也可以创建自己的类。ACTIONSCRIPT内置的类位于动作在板的OBJECTS(对象)文件夹。
在创建CLASS(类)时,用户需为由该类所创建的每个对象定义所有属性(特性)和方法(行为)。这和现实世界中对象的定义方法一样。例如,“人”具有诸如性别、身高和头发颜色之类的属性,“人”的行为包括说话、走路、投掷等,在本示例中,“人”就是一个类,而每个单独的人就是该类的实例,即OBJECT(对象)。
ACTIONSCRIPT中的对象可以包含数据,也可以是舞台上的影片
剪辑。所有影片剪辑都是预定义的MOVIECLIP类的实例。每个影片剪辑实例都有MOVIECLIP类的所有属性(例如_HEIGHT,高度;_ROTATION,旋转;_TOTALFRAMES,总帧数等)和所有方法(例如,GOTOANDPLAY,转到并播放;LOADMOVIE,载入电影;STARTDRAG,开始拖动等)。
要定义CLASS(类),用户需创建一个特殊的被称为“构造器”的函数。FLASH预定义的类已经定义了构造器函数。例如,如果需要电影中一个骑车人的信息,则可以创建一个名为BIKER的构造器函数。该函数包括“时间”和“距离”属性,也包含“速度”方法,该方法可以将骑车人的移动速度告诉用户。
FUNCTION BIKER(T, D) {
THIS.TIME = T;
THIS.DISTANCE = D;
}
FUNCTION SPEED() {
RETURN THIS.TIME/THIS.DISTANCE;
}
BIKER.PROTOTYPE.RATE = SPEED;
FLASH脚本教程:flashAS基础<八>
在编写构造器函数之后,用户就可以创建BIKER类的副本,即:实例。以下代码就可以创建BIKER类对象的实例EMMA和HAMISH:
EMMA = NEW BIKER(30, 5);
HAMISH = NEW BIKER(40,5);
EMMA.SHOVE(HAMISH, 10);
在面向对象编程方法中,类可以按指定顺序相互接收属性和方法,这就是所谓的继承。用户可以使用继承扩展或重定义类的属性和方法,从其他类继承属性和方法的类被称为“子类”,将属性和方法传递给其他类的类被称为“超类”,一个类可以同时是“子类”和“超类”。
3.脚本的流程
FLASH将从第一行语句开始执行ACTIONSCRIPT语句,一直按次序执行到最终语句或ACTIONSCRIPT指定跳转到的语句。
将执行次序发送到其他地方而不是下一语句的动作包括:IF语句、DO…WHILE循环和RETURN动作。
IF语句被称为条件判断语句或“逻辑分支”,因为它是基于某些条件的评估判断来控制脚本流程的。例如,以下代码就将检查变量MYNUMBER中的值是否否小于或等于10,如果检查结果返回TRUE(例如,MYNUMBER的值为5),则变量ALERT被设置文本字符串值,并在输出的文本域中显示其值。
IF (MYNUMBER <=10) {
ALERT = “THE NUMBER IS LESS THAN OR EQUAL TO 10”;
}
FLASH脚本教程:flashAS基础<九>
用户也可以添加ELSE语句来创建更加复杂的条件判断语句。在以下示例中,如果条件判断返回TRUE(例如,变量MYNUMBER的值为3),则第一组大括号之间的语句将执行,ALERT变量将显示第二行的值。如果条件判断返回FALSE(例如,变量MYNUMBER的值为30),则第一组代码区将被跳过,ELSE语句后面的大括号之间的语句将执行。
IF (MYNUMBER <=10) {
ALERT = “THE NUMBER IS LESS THAN OR EQUAL TO 10”;
}ELSE {
ALERT = “THE NUMBER IS GREATE THAN 10”;
}
循环语句将重复执行某一动作若干次,直到满足某一条件才结束。在以下示例中,影片剪辑将被复制5次。
I = 0;
DO {
DUPLICATEMOVIECLIP
("MYMOVIECLIP","NEWMOVIECLIP"+I,I);
NEWNAME = EVAL("NEWMOVIECLIP"+I);
SETPROPERTY(NEWNAME,_X,GETPROPERTY("MYMOVIECLIP",_X)+(I*5));
I=I+1
}WHILE(I<=5);