flashActionScript编程(适合教学)

合集下载

Flash入门及学ActionScript编程的正确途径

Flash入门及学ActionScript编程的正确途径

Flash入门及学ActionScript编程的正确途径下面我的说每一个问,请你都不要跳过,不管您用什么手段,必须一个个吃透,否则欲速则不达。

1、三种图层图层:和Photoshop的图层差不多。

导向层:不仅可以导向Motion动画,还有参考层的作用(这个功能用的人就不多了)。

蒙板层:蒙板层有图像的地方,它下面那层的内容才可显示,有点象3DS MAX里的蒙板贴图。

2、三种帧:即帧,关键帧,空白关键帧。

3、三种符号:即影片剪缉,按钮,图形,初学可以不用图形,用影片剪缉。

4、三种Flash动画的文件格式:即EXE,SWF,HQX5、三种Flash常用的声音:MP3,AVI,WAV6、三种影片生成方式;输出动画,发布影片,CTRL+ENTER7、三个重要数字:帧率,影片尺寸,背景色值。

6、三个Flash常用图片格式:jpg ,png,gif7、三个重要快捷键:F8_转换为符号Tab_显示/隐藏面板Ctrl_+/-缩放。

*********************************************************学A S编程的正确途径1、你先学会加动作的三种方式:在帧上加,在MC上加,在按钮上加。

用play stop goto这三个命令反复练习。

不要用太多的命令给自己吃迷晕药。

用实例练,不要空练。

2、会了我说的1后,要学给按钮加动作的8种方法和给mc加的9种方法。

3、会了我说的2了,就要学个编程最基础最重要的东西----路径的描述(能看懂就能用)。

1> _root.mc1.mc2. ... mcn.play()[或stop(), _x, .......]2>_parnet3>this4>mc1.mc2. ...5>_leveln.mc1.mc2. ... mcn.play()[或stop(), _x, .......]练习这样一个实例对你也许有帮助, 把一首你喜欢听的歌随意放在某个MC中,随意地在某个mc或按钮上加动作去控制它,想让它停就停,想让它放就放。

Flash_ActionScript2.0教程(精编文档).doc

Flash_ActionScript2.0教程(精编文档).doc

【最新整理,下载后即可编辑】第一课认识编程环境ActionScript是针对Flash Player的编程语言,它在flash内容和应用程序中实现了交互性、数据管理以及其它许多功能.那么我们将程序写在什么地方呢?在flash创作环境中,我们的程序写在"动作"面板中而动作面板,又是与舞台上可以添加动作的对象相关联的.在ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.编程实际就是向计算机下达指令,让计算机按我们的指令去完成一些任务.这就要求我们用计算机能看得懂的语言,这就是编程语言.ActionScript则是其中的一种.即然是语言,就同我们人类的语言一样它就有它自己的语法、语句、词汇等,这些东西就是我们要学习的内容.为了以后学习方便我们首先来学习一个语句:trace()这个语句的作用是,flash在运行时,将括号中的内容显示出来.上面我们提到,ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.也就是说,我们可以在这三个对象的动作面板中编写程序.具体怎样作呢?我们来试试.新建一flash文档,如果你的flash 版本是CS3,那么请选择ActionScript2.0文档,因为本教程介绍的是ActionScript2.0.为什么不介绍3.0?因为sanbos发现很多人用的都是flash8.好,现在点击"插入"菜单,一"新建元件,建一个影片剪辑元件,随便画一个什么图形吧,将元件拖到舞台上;然后点击"窗口"一"公用库"一"按钮",然后随便选一个按钮拖到舞台上.这样,关健帧、影片剪辑、按钮都齐了.现在我们来看看怎样打开动作面板.在影片剪辑上点鼠标右键,然后在弹出菜单中点"动作",那么现在我们看到的就是动作面板了.图1:动作面板我们在按钮元件上执行相同的操作,可以得到相同的结果现在在时间轴的第1 帧上,执行相同的操作,一样地打开了动作面板.动作面板的右边留出了一大片空白,等着你去编写程序,鼠标指针在那儿闪着,便勾起了我们编程的冲动.于是你说:"我要编程了".上面我们不是介绍了一句,trace()吗?我们何不偷偷地在这里输上一句,也好过把编程的隐.于是你在这里输上:trace("我会编程了");注意大小写,括号后面跟着分号.测试影片.你会看到一个输出窗口,里面有"我会编程了"几个字是的,你已经会编程了.虽然只有一句,但它是一个ActionScript程序却是千真万确的.因此,这的确是一件值得祝贺的事情.来吧,让我们再说一次:"编程其实很容易".欣赏够以后,请关闭输出窗口,关闭播放窗口,回到几分钟之前,令我们自豪了一把的动作面板,我们来对它进行更进一步的认识.我们看到trace是蓝色的是的,ActionScript内部的词汇在编程环境中都会以蓝色表示.那么这就是一个技巧, 当你在输入程序时,如果输入ActionScript内部词汇时不是蓝色的,那么说明你输错了,那么你应该马上检查,是否有哪个字母输错了.现在问题出现了,你说我记不到那些词汇.在中学时英语考不出好成绩主要就是因为记不住单词.现在学习编程也记不住那些指令、语句,所以觉得编程好难.首先我还是说一句,你可能不太乐意听的话:多练自然就记住了.你说:我就是记不住,我是不是就不宜学习ActionScript编程呢?NO,你看说英语并不难,我张口就来.我们将标淮降低,只要你看到这些指令,能够认识它就行.相比之下,知道有些什么指令比记住那些指令的拼写要重要得多.回到动作面板,你就会明白这个道理.看看动作面板的左半部分,这里几乎将所有的指令列了出来,你可以分门别类地去找到相关指令,如影片剪辑控制、时间轴控制、常用语句等,找到相应语句,双击它,于是它便自动写到右边的编程窗口中了.是不是不用精确记住指令的拼写也能编程呢.在右边的编程窗口上面的工具栏最左边有一个加号,它具有与左边窗口相同的功能,不信你点它试试通常在ActionScript编程时,我们可能会习惯将代码写在影片剪辑、按钮元件上,这就必须要事件驱动,它的格式是:on(事件名称){要执行的语句}现在我们来试一试,在动作面板中输入on(这时你会发现弹出了一个窗口,将所有事件列了出来,你只需用鼠标选用所需要的事件双击它或回车,事件就会自动写到屏幕上.是不是很方便?很多ActionScript程序都是对影片剪辑、按钮元件、文本框等对象进行操作,这需要在属性面板中为它们命名.良好的命名习惯,对我们编写程序会有很大的帮助.按照约定,影片剪辑元件的命名以_mc结尾,如my_mc,按钮元件则是以_btn结尾,文本框则是以_txt结尾.当然你完全可以不理采这些约定,随心所欲地为他们命名.我们说遵守这些约定,会对我们编程有所帮助.还是来试一试吧.建一影片剪辑元件,然后将它拖到舞台上,打开属性面板,为它取名为:mymc_mc,在第一帧打开动作面板,输入:mymc_mc.这时会弹出一个窗口,需要哪个指令选就是了.这些指令是按拼音顺序排列的.如果你能记住所需指令的前几个字母,你不妨直接输入,这时你会发现,很快就定位到了你所需要的指令.现在,我们把元件的名称改为mymc,不以_mc结尾,再到动作面板中输入,mymc.结果什么也没有发生,后面的指令只有自己输了,或者到左边窗口中去选.按钮元件和文本框也是相同的.你可以试一下.这一课我们认识了动作窗口,这是我们ActionScript编程的地方,通过对智能化的编窗口的认识,应该消除了我们对编程的恐惧,让我们树立了学好ActionScript编程的信心第二课_面向对象编程基础ActionScript是一种面向对象的编程语言.通常我们会认为编程就是连续地写一系列指令,计算机按顺序地执行它.而面向对象编程则是将程序分成各个块,分散到对象上.什么是对象?对象就是我们在flash中能看到的一切东西.舞台是一个对象,时间轴、影片剪辑、按钮、文本、位图都是对象.在第一课中我们己说过:在ActionScript2.0中我们可以将程序写在关键帧、影片剪辑、按钮元件上.即便是将程序完全写在关键帧上,它也必须要对象的事件驱动才能执行.在理解了面向对象编程后,我们必需要对一些概念有所了解.事实上我们在上面对对象己经有了一定的了解.就如同我们的家中,所有的东西都可以叫做对象.比如,电视机,电冰箱,书桌,衣柜等等.很容易发现,这些东西,总有那么几个都有相似之处.比如,电视机、电冰箱都需要用电;书桌、衣柜都是用木头做成的. 我们便把家里的东西分成了几类,并为每一类东西取上一个名字,比如,电器类、木器类等.这样我们就理解了另一个重要的概念一"类".类是某一类型对象的概括或者说是模板,在ActionScript中,所有对象都是由类定义的.每个类都包括了三个重要的元素:事件、属性、方法,这是我们必须要了解的三个重要概念.事件:在面向对象的编程中,并不是将程序按顺序交给计算机去执行,上面己经谈到了,程序被分散到了对象上.那么要计算机执行这些程序就需要事件来触发.通俗地讲就是:当某件事情发生时就去做一些事情.这个某件发生的事情就是事件.在flash中,常常会放上一个按钮,比如"开始"按钮.程序设计者可能是这样的思路:当按钮按下时就播放动画.那么"当按钮按下时"就是按钮对象的事件.在ActionScript2.O中,程序可以写在关键帧和元件上,事件在关健帧中和原件中的输写方法是不一样的. 事件在关健帧中的写法:元件名称.事件名称= function(){要执行的语句....}事件在元件上的写法:on(事件名称){要执行的语句.....}我们来做一个练习,在舞台上有一名为play_btn的按钮,现在要实现点击按钮动画就播放.新建flash文档,用椭园工具画一个园,然后,在40帧插入关健帧,将园移到另一位置,建立补间动画.新建一图层,从内部库中拖一个按钮到舞台上.打开属性面板,为按钮命名为play_btn.这里先介绍一个最常用的事件:release,这是当放开鼠标按键时触发.实际也就是完成了一个点击动作时发生.首先,在幀动作面板上写程序的方式完成练习:新建图层,命名为action,当这不是必须的,你完全可以给它取个其它名字.打开幀动作面板,输入:stop(); //这是让动画停止播放,以便让我们点击按钮时才播放.play_btn.onRelease = function(){play(); //让动画开始播放}测试影片,当点击按钮后,园形开始移动.回到场景中,可以看到,在action图层时间轴的第1幀上,有一个a字,这说明在这一幀上有程序.下面用在元件上写程序的方式来完成练习:将幀动作除第一行的stop();外其它的程序全部删除.然后,在按钮元件上点右键,点击"动作",打开动作面板,输入如下代码:On(replease){Play();}测试影片,得到相同的效果.属性:对象的属性可以理解为对象的特性,比如,大小,位置,颜色等.属性的输写规则是:对象名称.属性名称=值;下面介绍几个最常用的属性:_x,_y:分别是对象在舞上台的x,y坐标,这两个属性可以确定对象在舞台上的位置._xscale,_yscale:分别是对象在舞台上沿x,y轴方向的缩放比例,实际上就是宽和高的缩放比例,以百分比表示,例如:my_mc._xscale = 50; //这表示,元件my_mc的宽度缩小到原来的50%._alpha:这是对象的透明度,取值为0-100._rotation:这是对象的旋转度,以角度为单位._visible:为是对象是否可见,可设置两个值,true(或1)和false(或0).比如要设置元件my_mc在舞台上不可见,可用:my_mc._visible = false; 或my_mc._visible = 0;相反要设置它在舞台上可见则用:my_mc._visible = true; 或my_mc._visible = 1;函数:你可能要问,属性介绍完了该介绍方法了,你怎么介绍起函数来了?原因很简单,方法也是函数.将函数附加到对象时,它就被称为方法.什么是函数呢?将完成一个任务的若干语句封装起来,就叫函数.也许用例子来说明会好理解一些.比如,要完成一个开电视的任务,可能需要很多步骤,插上电源,开机,选频道,设置音量.我们将这些步骤封装起来,并给它取个名字"开电视"这就创建了一个开电视的函数.在ActionScript2.O中创建函数的格式是:function 函数名称(){要执行的语句;.....}比如要创建上面开电视函数,就这样写:function 开电视(){插电源;开机;选频道;设音量;}函数创建以后,要调用这个函数只需:函数名()即可,比如我们要执行开电视的任务,只需输入:开电视();练习一下,我们来创建一个函数,然后调用它.打开第一帧的动作面板,输入:function test(){trace("我会写函数了");}test();测试影片,在输出面板中,会出现"我会写函数了"几个字.这个练习我们首先创建了一个叫test的函数,然后用test();调用了它.有时会有这样的情况,在函数内的语句中要用到数据,在创建函数的时候,却不能确定这些数据,比如每次调用会用不同的数据.这时就会用到参数,调用时,通过参数将数据传递给函数.格式如下:创建函数的格式:function 函数名称(参数1,参数2,…){要执行的语句}调用函数的格式:函数名称(值1,值2,…);还是以开电视为例:创建开电视函数:function 开电视(频道,音量){插电源;开机;选频道=频道;设音量=音量;}调用函数:开电视(12,28);调用后,电视打开,并将频道设为12,音量设为28.练习:在帧动作面板中输入:functiontest(a,b){c=a+b;trace(c);}test(3,5);测试影片,输出面板中应显示8 .了解了函数后,再来说方法就简单多了.上面已经说过,将函数附加到对象,就称为方法.AS中内置了很多方法,对于这些方法,我们不需要去了解它执行了些什么语句,只需要知道它可以完成的任务就行了.我们可以用:对象名称.方法名称();的格式来调用这些方法.比如有一个my_mc的影片剪辑元件,我们可以调用它的一些方法:my_mc.stop();my_mc.startDrag();按钮:在交互式的动画制作中, 经常会用到按钮,比如我们会放上一个"播放"、"停止"、"重放"等按钮.有两种方式可以将按钮添加到舞台上,一种是从内部库中拖一个按钮到舞台上;另一种方法是自己创建一个按钮,这里主要介绍一下自己创建按钮的方法,因为常常有人会问:为什么我创建的按钮点击它时不起作用?这可能就是创建按钮时出了问题.现在点击"插入"菜单-"创建新元件",选择按钮,这时就进入按钮编辑窗口,可以看到,时间轴上只有4帧,分别是:弹起,指针经过,按下,点击.特别要注意的是,点击那一帧,这一帧是点击的范围,因此这一帧是必须的,而且要注意的是,如果你的按钮是纯文字的,如Play,那么在这一幀应该画一个矩型,作为点击范围,不然,用户就只有点击到文字的笔划上才能触发按钮事件.在按钮编辑窗口中同样可以有很多层,比如第一层为图形,第二层为文字等.下面来制作一个按钮:点击“插入”-“新建元件”,选择按钮,确定,这样就进入元件编辑窗口。

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. 顶级对象类 有些内置动作脚本类,类成员(属性和方法)通 过类名本身来访问或调用的,而不是通过类的实 例,也就是说,不用创建类的实例即直接使用这 些属性和方法。

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

ActionScript编程基础 -Flash

ActionScript编程基础 -Flash

第9章 ActionScript编程基础
(3)大扩号。ActionScript使用大括号“{}”划分语句块, 例如:
onClipEvent(load){ top=_y; left=_x; right=_x; bottom=_y+100;
} (4)分号。ActionScript语句使用分号“;”作为结束,如 果将分号省略,Flash仍然能够成功地编译脚本,例如: Mouse.hide() startDrag("cs", true)
play() }}
第9章 ActionScript编程基础
(4)Number(数字):数据类型中的数字是一个双精 度的浮点型数字。可以使用算术运算符来处理数字,也可使 用内置的Math和Number类的方法来处理数字。
(5)String(字符串):字符串是由字母、数字、标点 等组成的字符序列,应用字符串时要将其放在单引号或双引 号中。例如,下面语句中的“chen”就是一个字符串:
function Line(x1,y1,x2,y2){…} //定义Line函数
第9章 ActionScript编程基础
注意:注释在程序区中以暗色显示,如图9.3.1所示。
图9.3.1 注释在程序区中以暗色显示
第9章 ActionScript编程基础
(7)关键字。ActionScript保留了一些标识符作为内置 对象、函数等的标识。这些标识符就是关键字,用户在编程 过程中,不能用这些关键字作为变量、函数或标签的标识。
do { duplicateMovieClip(“csquare”,“csquare”+i,i) i=i+1; }while(i<=8); (17)Keywords(关键字):关键字是具有特定意义的 保留字。例如,var是一个用来声明本地变量的关键字。

Flash教程 第八章 ActionScript编程

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 个字符。

FLASH中actionscript代码

FLASH中actionscript代码

FLASH中actionscript代码----调用外部文件详解作者: 网友添加来源: 互联网发布日期:2005-11-24 点击次数: 3865 FLASH调用外部文件详解Flash加载外部文件Flash可以通过帧、按扭、影片剪辑来调用外部文件。

调用的外部文件包括:外部文本文件、外部程序文件、外部*.swf文图片文件、外部音乐文件、外部脚本文件。

一.调用外部文本文件:(文本文件开头要以flash中的动态文本框的变量名开头,如msg=".........."这样的形式,要和编辑的Flash文件放在同一目录下)1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框2.制作两个按扭(一个调用,一个清除)拖放到场景中。

3.调用按扭上添加AS:on(release){//松开鼠标后执行下面的代码;loadVariables("msg.txt",msg);//调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中;eCodepage=true;//使外部文件的中文字符能够正确显示;}4.清除按扭上的AS:on(release){//松开鼠标后清楚动态文本框中的内容;msg="";}5.Ctrl+Enter测试.当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2)在第一帧上加如下代码:stop();_root.bt1.onRelease=function(){loadVariables("msg.txt",msg);eCodepage=true;}_root.bt2.onRelease=function(){_root.msg="";}Ctrl+Enter测试.调用的外部文本文件能够滚动:1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中3.新建一层,在动态文本框的右侧用矩形工具画一个竖条,高度和动态文本一样;再制作一个向上的方向"箭头"按F8转为按复制一个"箭头"按扭,垂直镜象,使这两个按扭和竖条的两端对齐.4.调用按扭上的AS:on(release){//松开鼠标后执行下面的代码;loadVariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;eCodepage=true;//使外部文件的中文字符能够正确显示;}清除按扭上的AS:on(release){_root.msg="";//清除动态文本框中的内容;}向上的按扭上的AS:on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;}向下的按扭上的AS:on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;}Ctrl+Enter测试.当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例n)在第一帧上加如下代码:_root.bt1.onRelease=function(){//松开鼠标后执行下面的代码;loadVariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;eCodepage=true;//使外部文件的中文字符能够正确显示;}_root.bt2.onRelease=function(){//松开鼠标后执行_root.msg="";//清除动态文本框中的内容;}_root.up.onPress=function(){//在向上按扭上每按一次鼠标执行下面的代码;_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:on(release){//鼠标离开按扭后执行下面的代码;loadMovie("flash8.swf","mymc");//加载外部的"flash8.swf"文件到"mymc"空影片剪辑中;mymc._x=70;//加载影片的X轴坐标;mymc._y=20;//加载影片的Y轴坐标;mymc._xscale=70;//加载影片的宽度;mymc._yscale=70;//加载影片的高度;}清除按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码unloadMovie(mymc);//删除用loadMovie加载的*.swf文件;}Ctrl+Enter测试三.调用外部*.swf文件(加载到时间轴上):外部*.swf文件要和编辑的Flash文件放在同一目录下1.制作两个按扭(一个调用,一个清除)拖放到场景中2.调用按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码loadMovie("flash8.swf",1);//加载外部的"flash8.swf"文件到场景中,层深为1;}清除按扭上的AS:on(release){//鼠标离开按扭后执行下面的代码unloadMovie(1);//删除层深为1的用loadMovie所加载的"flash8.swf"文件}Ctrl+Enter测试。

Actionscript(简化)Flash动作脚本课件.docx

Actionscript(简化)Flash动作脚本课件.docx

(―)Flash动作脚本简介Flash动作脚本又称ActionScript,是Flash内置的脚本语言,Flash 5开始就有,Flash 8.0 的是ActionScript 8.0。

与JavaScript很相似,但ActionScript只能用来控制Flash内部的对象。

一、可以实现的功能1、对动画的播放与停止进行控制;为鼠标与键盘指定事件控制Flash动画的声音:声道切换.音量调整和歌曲选择,可以制作音乐播放器;4.打开网站链接:建网站的超级链接;5、对图像进行调整;6>制作复杂的游戏和动画:常用的是下载进度条和播放按钮,另外一些漂亮的菜单等几乎全是用脚本语言编出来的,还有FLASH游戏等。

现在可以编写任何东西,包括QQ.网络聊天室等,也就是说可以做网页设计、动画中的任何工作,应用越来越多。

二、Flash动作脚本的编程原则只有通过反复练习,才能理解和掌握常用的命令和编程方法。

特别要注意以下几个原则:2、写代码时使用英文输入法,标点要用半角符号;操作什么就要添加什么,不可无中生有;3、汪意区分代码的大小写。

脚本编程实质上是一个创作的过程,明白了什么地方添加什么效果,这些效果基本上可以通过哪些代码来实现,就算掌ST FL AS H 编程。

FLAS H编程的基本过程如下:1、2、3、4、明确要完成的任务;确定要完成的任务需要用到哪些对象;按使用的先后顺序制作需要的对象;为对象添加动作脚本;5、在“动作”面板中对代码进行测试;6、对整个FLASH程序进行全面测试。

三、FLASH中的编程环境1、动作面板2、“输出”面板:用来在测试影片时显示脚本中的错误信息,也可以用来输出指定的内容,如:在脚本区输入:trace(“输出数字:1、2、3、4、5、6、7、8、9、10”),然后按下“Ctrl+Enter” 组合键,内容将显示在“输出”面板。

窗口的右上角也有一些实用的菜单命令。

3、“脚本”窗口选择“文件I新建”,选择"Actionscript文件”,打开“脚本”窗口,与“动作”面板的代码编写窗口类似。

《Flash CS3动画制作》ActionScript 的应用(模块七)

《Flash CS3动画制作》ActionScript 的应用(模块七)
一种特殊的函数,在使用new关键字创建类的 实例时(例如var my_bl:XML = new XML();)会自动调用这种函数。
➢ 匿名函数:匿名函数是引用其自身的未命名函数,该函数在创建时便 被引用。
➢ 回调函数:回调函数通过将匿名函数与特定的事件关联来创建,这种 函数可以在特定事件发生后调回。
变量的作用域
变量的作用域是指变量能够被识别和应用的区域。根据变量的作用域 可将变量分为全局变量和局部变量。全局变量是指在代码的所有区域 中定义的变量,而局部变量是指仅在代码的某个部分定义的变量。在 ActionScript 3.0中,在任何函数或类定义的外部定义的变量都为全局 变量;而通过在函数定义内部声明的变量则为局部变量。
(3)选择【插入】→【新建元件】菜单命令,在打开的“创建新元件 ”对话框中创建“车轮动”影片剪辑元件。
(4)将“库”面板中的“车轮.png”拖动到“车轮动”影片剪辑元件场 景中,调整其大小放置到如图所示位置。
放置车轮
操作一 制作停止车轮的转动
(5)接着在第2帧处插入关键帧,然后在第2帧到第30帧之间创建车轮 滚动的动作补间动画。
逻辑运算符
按位逻辑运算符
操作四 运算符与表达
运算符的优先级
运算符的优先级
操作五 ActionScript的添加方法
根据动画的实际需要,为相应的关键帧添加Action脚本,其操作步骤如 下:
(1)在时间轴中选中要添加Action脚本的关键帧。
(2)选择【窗口】→【动作】菜单命令,或按“F9”键,打开“动作帧”面板。
操作二 认识变量
变量的类型
➢ Numeric:数值变量,包括Number、Int和Uint3种变量类型。Number 适用于任何数值;Int用于整数;Uint则用于不为负数的整数。

《Flash ActionScript 3.0编程技术》课程简明教程

《Flash ActionScript 3.0编程技术》课程简明教程

《Flash ActionScript 3.0编程技术》课程简明教程浙江外国语学院石其乐模块1 ActionScript 3.0概述1.1 Adobe Flash CS5写入ActionScript 3.0代码的方法Adobe Flash CS5 两种写入ActionScript 3.0代码的方法:在时间轴的关键帧加入ActionScript代码(动作面板介绍)trace("Welcome you");在外部写出一个单独的ActionScript类文件,然后绑定或者导入到fla文件中(类的3种用法:和fla文件绑定、和Flash中的库元件绑定、使用import关键字导入类)和fla文件绑定(目的是为了AS代码和Flash设计完全剥离)(脚本窗口介绍)实例package {import flash.display.Spritepublic class Welcome extends Sprite {public function Welcome() {trace("Welcome You");}}}模块2 ActionScript 3.0 编程语言基础2.1 AS3.0语法2.1.1 点语法1)可以采用对象后面跟点运算符的属性名称(方法)名称来引用对象的属性(方法)。

2)可以采用点运算符表示包路径。

3)可以使用点运算符描述显示对象的路径实例package com.lzxt.display{import flash.display.DisplayObjectContainer;import flash.display.Sprite;import flash.text.TextField;public class AddTextSprite extends Sprite {public function AddTextSprite() {//创建空容器var sp:Sprite=new Sprite();sp.x=50;sp.y=50;addChild(sp);// 创建文本对象var mytext:TextField=new TextField();mytext.text="这是一个位于容器中的显示文本";mytext.width=200;//显示对象sp.addChild(mytext);}}}2.1.2 标点符号使用分号(;)\逗号(,)\冒号(:)\小括号(())\中括号([])\大括号({})实例1var date:Date=new Date();var hh:int=date.getHours();if (( hh >= 0 ) && (hh <= 4 )) {trace("深夜了,注意身体,该休息了!");} else if (( hh >= 4 ) && (hh < 7)) {trace("清晨好,这麽早就上网呀?!");} else if (( hh >= 7 ) && (hh < 12)) {trace("早上好,一天之际在于晨,又是美好的一天!");} else if (( hh >= 12) && (hh <= 13)) {trace("该吃午饭啦!有什麽好吃的?");} else if (( hh >= 13) && (hh <= 17)) {trace("外面的天气很热吧?!心静自然凉!");} else if (( hh >= 17) && (hh <= 18)) {trace("太阳落山了!快看看夕阳吧!");} else if ((hh >= 18) && (hh <= 19)) {trace("吃过晚饭了吗?");} else if ((hh >= 19) && (hh <= 23)) {trace("一天过的可真快!今天过的好吗?");}实例1var arr:Array=[1,2,3];trace(arr[0]);2.1.3 注释单行注释多行注释实例/* 单击以搜寻提示点(需要FLVPlayback 组件)单击此指定的元件实例会在指定的FLVPlayback 组件实例中搜寻视频的提示点。

Flash ActionScript 3.0动画教程第7章

Flash ActionScript 3.0动画教程第7章

11
7.3.1 常量与变量
在ActionScript中定义一个变量要使用关键字“var”, 并在该关键字后添加自定义变量的名字,例如定义一 个名为myvalue的变量的语句为:
var myvalue=3;//定义一个变量
在定义变量时变量的名字要遵循以下规则。
(1) 变量名必须以英文字母开头。 (2) 变量名只能由A~Z字母、0~9数字和下划线“__”组成, 名字中不能出现其他字符,例如“m y”、“m++y”和 “(my)”都是错误的变量名。 (3) 不能使用ActionScript的保留字(关键字)作为变量的名字。
一般来说,为了保证程序的可读性,最好为变量起与 其作用相关的名字,例如存放数据总和的变量可以命 名为“sum”,表示数据平均数的变量可以命名为 “average”。
12
7.3.2 基本数据类型
1. 整型数据(int) 2. 无符号整型数据(uint)
3. 浮点型数据(Number) 4. 字符串型数据(String) 5. 布尔型数据(Boolean)
6
7.2.1 区分大小写
与其他高级编程语言一样,ActionScript 3.0也是一种区分字 母大小写的编程语言。ActionScript 3.0中的关键字、变量名、 类名等代码中的字母都要与定义时的字母大小写方式一致,否 则会被ActionScript 3.0视为错误处理。例如下面的两行语句: addEventListener(Event.ENTER_FRAME,xyMouse);//正确 的脚本 AddEventListener(Event.ENTER_FRAME,xyMouse);//错 误的脚本 前一句是正确的脚本语句,后一句中AddEventListener语句 中的第一个字母应为小写却被误写为大写,因此是错误的。 在利用ActionScript 3.0编程时要十分注意语句的大小写问题, 一些复杂的程序不能成功运行的原因往往不是因为逻辑上的错 误,而是因为在编写时没有足够重视这些小问题。对于一个复 杂的程序而言,这些小问题往往比逻辑上的问题更难被发现。

FlashActionscript教程:游戏中的碰撞...-电脑资料

FlashActionscript教程:游戏中的碰撞...-电脑资料

FlashActionscript教程:游戏中的碰撞...-电脑资料教程简单碰撞下面是代码://把你舞台上的MC实例名放入数组,测试var ballA:Array = [ball1, ball2, ball3, ball4, ball5];//随机初始化每个MC的运动速度和方向for (var i = 0; i<="">ballA.dx = 11*rand1_1();ballA.dy = 7*rand1_1();}//随机产生1或-1function rand1_1():Number {return random(2) ? -1 : 1;}Stage.scaleMode = "noScale";Stage.align = "TL";var sw:Number = Stage.width;var sh:Number = Stage.height;var stageListener:Object = new Object();//舞台大小改变时,重置sw、shstageListener.onResize = function() {sw = Stage.width;sh = Stage.height;};Stage.addListener(stageListener);nEnterFrame. = function () {for (var i = 0; i<="">//检测所有MC之间是否有碰撞,有就根据情况改变“增量”方向for (var j = i+1; j<="">if (ballA.hitTest(ballA[j])) {mc12(ballA, ballA[j]);ballA._x += ballA.dx;ballA[j]._x += ballA[j].dx;ballA._y += ballA.dy;ballA[j]._y += ballA[j].dy;}}//如果到了边界,就反射if ((ballA._xsw-ballA._width/2 && ballA.dx>0)) {ballA.dx *= -1;}if ((ballA._ysh-ballA._height/2 && ballA.dy>0)) {ballA.dy *= -1;}//移动一个“增量”ballA._x += ballA.dx;ballA._y += ballA.dy;}};//碰撞函数,根据两球碰撞方向和自身运动方向合成新的增量值function mc12(mc1:MovieClip, mc2:MovieClip) {var ang:Number = Math.atan2(mc2._y-mc1._y, mc2._x-mc1._x);var ang1:Number = Math.atan2(mc1.dy, mc1.dx);var ang2:Number = Math.atan2(mc2.dy, mc2.dx);var r1:Number = (mc1.dy/Math.sin(ang1))*Math.cos(ang-ang1);var r2:Number = (mc2.dy/Math.sin(ang2))*Math.cos(ang-ang2);var dx1:Number = r1*Math.cos(ang)+r2*Math.cos(ang);var dy1:Number = r1*Math.sin(ang)+r2*Math.sin(ang);mc1.dx = -mc1.dx+dx1;mc1.dy = -mc1.dy+dy1;mc2.dx = -mc2.dx+dx1;mc2.dy = -mc2.dy+dy1;}加入反弹效果代码://把你舞台上的MC实例名放入数组,测试var ballA:Array = [ball1, ball2, ball3, ball4, ball5];//随机初始化每个MC的运动速度和方向for (var i = 0; i<="">ballA[i].dx = 5*rand1_1();ballA[i].dy = 5*rand1_1();ballA[i].N=i;}//随机产生1或-1function rand1_1():Number {return random(2) ? -1 : 1;}Stage.scaleMode = "noScale";Stage.align = "TL";var sw:Number = Stage.width;var sh:Number = Stage.height;var stageListener:Object = new Object();//舞台大小改变时,重置sw、shstageListener.onResize = function() {sw = Stage.width;sh = Stage.height;};Stage.addListener(stageListener);nEnterFrame. = function () {for (var i = 0; i<="">//如果到了边界,就反射if ((ballA[i]._xsw-ballA[i]._width/2 && ballA[i].dx>0)) {ballA[i].dx *= -1;}if ((ballA[i]._ysh-ballA[i]._height/2 && ballA[i].dy>0)) {ballA[i].dy *= -1;}//检测所有MC之间是否有碰撞,有就根据情况改变“增量”方向for (var j = i+1; j<="">if (myHitT est(ballA[i],ballA[j])) {//if (ballA[i].hitTest(ballA[j])) {mc12(ballA[i], ballA[j]);ballA[i]._x += ballA[i].dx;ballA[j]._x += ballA[j].dx;ballA[i]._y += ballA[i].dy;ballA[j]._y += ballA[j].dy;}}//移动一个“增量”ballA[i]._x += ballA[i].dx;ballA[i]._y += ballA[i].dy;updateAfterEvent();};//碰撞函数,根据两球碰撞方向和自身运动方向合成新的增量值function mc12(mc1:MovieClip, mc2:MovieClip) {//碰撞角var ang:Number = Math.atan2(mc2._y-mc1._y, mc2._x-mc1._x);//运动角var ang1:Number = Math.atan2(mc1.dy, mc1.dx);var ang2:Number = Math.atan2(mc2.dy, mc2.dx);//反射角var _ang1:Number = 2*ang-ang1-Math.PI;var _ang2:Number = 2*ang-ang2-Math.PI;//运动矢量var r1:Number=Math.sqrt(mc1.dx*mc1.dx+mc1.dy*mc1.dy);var r2:Number=Math.sqrt(mc2.dx*mc2.dx+mc2.dy*mc2.dy);//碰撞矢量var a1:Number = (mc1.dy/Math.sin(ang1))*Math.cos(ang-ang1);var a2:Number = (mc2.dy/Math.sin(ang2))*Math.cos(ang-ang2);//碰撞矢量合成var dx1:Number = a1*Math.cos(ang)+a2*Math.cos(ang);var dy1:Number = a1*Math.sin(ang)+a2*Math.sin(ang);//碰撞后的增量mc1.dx = r1*Math.cos(_ang1)+dx1;mc1.dy = r1*Math.sin(_ang1)+dy1;mc2.dx = r2*Math.cos(_ang2)+dx1;mc2.dy = r2*Math.sin(_ang2)+dy1;//碰撞侦测function myHitTest(mc1:MovieClip,mc2:MovieClip):Boolean{ var a:Number=Math.sqrt((mc1._x-mc2._x)*(mc1._x-mc2._x)+(mc1._y-mc2._y)*(mc1._y-mc2._y));if(a-5<=(mc1._width+mc2._width)/2){return true;}else{return false;}}带旋转效果:代码://把你舞台上的MC实例名放入数组,测试var ballA:Array = [ball1, ball2, ball3, ball4, ball5];//随机初始化每个MC的运动速度、方向、旋转for (var i = 0; i<="">ballA[i].dx = 5*rand1_1();ballA[i].dy = 5*rand1_1();ballA[i].dr = 0;//增加旋转属性ballA[i].N=i;//球编号}//随机产生1或-1function rand1_1():Number {return random(2) ? -1 : 1;}//舞台属性Stage.scaleMode = "noScale";Stage.align = "TL";var sw:Number = Stage.width;var sh:Number = Stage.height;var stageListener:Object = new Object();//舞台大小改变时,重置sw、shstageListener.onResize = function() {sw = Stage.width;sh = Stage.height;};Stage.addListener(stageListener);//------nEnterFrame. = function () {for (var i = 0; i<="">//如果到了边界,就反射if (ballA[i]._x<="">ballA[i].dx *= -1;ballA[i].dr += ballA[i].dy;}if (ballA[i]._x>sw-ballA[i]._width/2 && ballA[i].dx>0) { ballA[i].dx *= -1;ballA[i].dr += -ballA[i].dy;}if (ballA[i]._y<="">ballA[i].dy *= -1;ballA[i].dr += -ballA[i].dx;}if (ballA[i]._y>sh-ballA[i]._height/2 && ballA[i].dy>0) { ballA[i].dy *= -1;ballA[i].dr += ballA[i].dx;}//检测所有MC之间是否有碰撞,有就根据情况改变“增量”方向for (var j = i+1; j<="">if (myHitT est(ballA[i],ballA[j])) {//if (ballA[i].hitTest(ballA[j])) {mc12(ballA[i], ballA[j]);ballA[i]._x += ballA[i].dx;ballA[j]._x += ballA[j].dx;ballA[i]._y += ballA[i].dy;ballA[j]._y += ballA[j].dy;}}//移动一个“增量”ballA[i]._x += ballA[i].dx;ballA[i]._y += ballA[i].dy;ballA[i]._rotation += ballA[i].dr;ballA[i].dr -= ballA[i].dr*0.01;}};//碰撞函数,根据两球碰撞方向和自身运动方向合成新的增量值function mc12(mc1:MovieClip, mc2:MovieClip) {//碰撞角var ang:Number = Math.atan2(mc2._y-mc1._y, mc2._x-mc1._x);//运动角var ang1:Number = Math.atan2(mc1.dy, mc1.dx);var ang2:Number = Math.atan2(mc2.dy, mc2.dx);//反射角var _ang1:Number = 2*ang-ang1-Math.PI;var _ang2:Number = 2*ang-ang2-Math.PI;//运动矢量var r1:Number=Math.sqrt(mc1.dx*mc1.dx+mc1.dy*mc1.dy);var r2:Number=Math.sqrt(mc2.dx*mc2.dx+mc2.dy*mc2.dy);//碰撞矢量var a1:Number = (mc1.dy/Math.sin(ang1))*Math.cos(ang-ang1);var a2:Number = (mc2.dy/Math.sin(ang2))*Math.cos(ang-ang2);//碰撞矢量合成var dx1:Number = a1*Math.cos(ang)+a2*Math.cos(ang);var dy1:Number = a1*Math.sin(ang)+a2*Math.sin(ang);//旋转矢量,这里还有点问题,旋转方向有时不对,,电脑资料《Flash Actionscript教程:游戏中的碰撞...》(https://www.)。

Flash教程之编程基础 新手也能看得懂

Flash教程之编程基础 新手也能看得懂

Flash编程基础(言简意赅适合新人没有基础也能看懂啊)教学提要ActionScript代码的输入与编辑语法与结构错误与调试重点与难点重点是语法与结构,视课堂讲授的进度安排教学内容。

由于安排的内容较多,若课堂上无法全部完成,则改为回去自学。

教学内容:一、ActionScript代码的输入与编辑Flash是一个集美工、动画与编程于一体的集成开发环境,故而其编程方式与其它纯程序开发的编程方式有所不同。

Flash自诞生之日起,就是以美工、动画为主,以程序为辅的应用框架。

我们可以理解为,Flash的总体结构就是一个影片剪辑(MovieClip),而几乎所有的多媒体内容都是挂在这个影片剪辑中的某个分支之上,包括脚本(代码),形成一个树形结构。

自ActionScript3.0起,这个框架被规范化为显示对象层次结构。

一个典型的Flash作品的结构如下图所示:典型的Flash作品的结构这种以动画为主,代码为辅的程序框架的好处是显而易见的,因为游戏开发的许多工作与画面设计打交道,我们利用对象层次结构,在直观的环境下创作几乎整个游戏!脚本的从属地位的好处显而易见,而其坏处也越来越被人们认识,就是对于其他程序开发人员来说,Flash的脚本有些莫名其妙,要想开发Flash程序,就必须先了解Flash的显示对象层次结构,动画,时间轴等原本与编程无多大联系的知识。

目前,Flash界面设计与代码设计的分离成了趋势,例如通过flex等提供一个完全适合程序员的开发环境。

由于游戏类型的应用,界面与程序结合非常紧密,所以还是采用原有的框架,在单独的Flash开发环境中完成所有的工作。

虽然Actionscript代码可以被挂在Flash中的许多分支上,但查看和编辑脚本却十分方便,因为所有的代码都在动作面板(脚本编辑器)中输入和编辑,只要用鼠标点击相应的位置或者对象,就会显示这个位置或对象所有用的代码。

打开一个Flash文档,按F9键,或者点击【窗口】|【动作】命令,即可打开动作面板。

ActionScript3 Flash编程无基础入门教1

ActionScript3 Flash编程无基础入门教1

ActionScript3 Flash编程无基础入门教程如果你觉得上的很多文章看太深奥,或者你是一个没有任何程序基础想学as,或者你连flash都不会。

那么这篇文章就是你茫茫大海上的明灯,让你找到学习as的方向做过Flash动画的Flash爱好者们都知道,要做好一个Flash动画,AS是必不可少的,即使只是很简单的几句代码也能起到整个Flash画龙点睛的作用。

这里我只简单的介绍一下AS的基本常识。

首先我们要了解AS要写在什么地方,什么时候AS会被触发执行。

1、帧:写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。

常见的例子有在影片结尾的帧写上stop() 等。

操作方法就是点选关键帧,然后打开AS面板。

2、按钮:不同于帧上面的AS,按钮上面的AS是要有触发条件的。

要把AS写在按钮上,操作方法是点选目标按钮,然后打开AS面板。

举个例子能说的更明白。

假设有一个动画,要让它在播放完同时停止,那么,你要做的就是在这个动画的最后一帧写ASstop();再假设有个按钮,效果是按下按钮后停止播放,那么步骤如下。

做一个按钮,放到主场景,点选按钮,然后打开AS面板。

现在如果也在按钮上写stop();那么,输出的时候就会提示错误。

正确的应该这样写on(release){stop();}这里要比帧的动画多这些代码: on(release){} , 整个代码翻译过来就是:当(松开){停止}红色的代码表示鼠标的触发事件事件之一,这里用的是release 松开,按钮的常用事件:release 松开releaseOutside 在按钮外面松开press 按下rollOver 鼠标进入按钮的感应区rollOut 鼠标离开按钮的感应区现在很明确了:写在按钮上面的AS一定就是这种格式的:on(事件){要执行的代码}3、MC(电影剪辑)如果你看懂了上面的内容,那么写在MC上面的AS和写在按钮上的大同小异。

ActionScript3.0(Flash编程)电子教案

ActionScript3.0(Flash编程)电子教案


1.2 ActionScript 3.0的新特色
• ActionScript 3.0包括二部分:核心语言和Flash Player API。核心语言用于定义编程语言的基本 结构, 比如声明变量,创建表达式控制程序结构 和数据类型等。Flash Player API是由一系列用 于实现特定功能的flash player类组成。
1.3 Flash CS3的动作面板介绍
• Flash CS3中可以使用动作面板、“脚本窗口”或 者外部编辑器的创作环境中田间ActionScript代 码。本节就来介绍一下Flash CS3的动作面板窗口 和Flash CS自带的编辑器窗口,并将详细的介绍 功能按钮的作用。
1.3.1 动作面板概述
ActionScript3.0 完全自学手册电子教案
第1章 AcionScript 3.0概述
• ActionScript 3.0它用于处理各种人机交互、数据 交互等功能。本章将粗略的介绍ActionScript语 言的发展历史、新增特色、编程环境等内容,以 及第一个ActionScript3.0程序。
1.3.3 动作面板和脚本窗口的工具介绍
• 在动作面板和脚本窗口的上侧都有一排功能按钮,利用这些功能按钮可以 很方面的进行ActionScript代码的输入和编写,下面对这些按钮进行具体 的说明。 :将新项目添加到脚本中按钮,该按钮主要用于显示语言元素,这些元素 同时也会显示在“动作”工具箱中。可以利用它来选择要添加到脚本中的 项目或者元素名称。 :查找按钮,主要用于查找并替换脚本中的文本。 :插入目标路径按钮(仅限动作面板),可以帮助为脚本中的某个动作设 置绝对或相对目标路径。 :语法检查按钮,用于检查当前脚本中的语法错误。 :自动套用格式按钮,用来调整脚本的格式以实现正确的编码语法和更好 的可读性。 :显示代码提示按钮:用于在关闭了自动代码提示时,可使用此按钮来显 示正在吃力的代码行的代码提示。 :调试选项按钮(仅限动作面板),用于设置和删除断点,以便在调试时 可以逐行执行脚本中的每一行。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(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 命令级联菜单
“查找”按钮:用来在脚本中查找并替换对象。单击该按 钮后,弹出“查找和替换”对话框,如图11.1.7所示。
“插入目标路径”按钮:用来在脚本中插入目标路径。单 击该按钮后弹出如图11.1.8所示的“插入目标路径”对话框。 在最上面的文本框中输入目标实例的路径,然后选中“相对” 或“绝对”单选按钮来设置“相对”或“绝对”路径,最后单 击“确定”按钮即可完成设置。
字符串、布尔值、空值、影片剪辑、类、未定义等。 (2)事件。指在动画播放过程中所发生的动作,如常见
的鼠标事件、键盘事件等。 (3)常量。是指ActionScript中其值不可以改变的元素。
(4)类。用来定义新对象类型的一种数据类型,它以 Class为关键字。在定义类之前必须要先创建一个构造函数。 构造函数是用来定义类的属性和方法的函数。
(9)关键字。是具有特殊含义的字母,如var是用来声明 本地变量的关键字。
11.2.2 语法规则 ActionScript有自己的语法规则,用户必须遵循这些规则才
能创建能够正确编译的脚本。 (1)点语法。应用点语法可以访问属于舞台上的对象或
实例的属性或方法。点语法表达式以对象或影片剪辑的名称开 头,后面跟着一个点,最后要以指定的元素结尾。如catMC._x 就表示引用影片剪辑实例catMC在舞台上的x轴的位置。
图11.1.9 提示框
图11.1.10 错误提示框
图11.1.11 “输出”面板
“自动套用格式”按钮:将用户输入的语句套用系统默认 的格式。单击该按钮可设置脚本的格式以实现正确的编码语法 和更好的可读性。
“显示代码提示”按钮:用来显示输入命令的语法格式。 “调试选项”按钮:用来在选定的脚本处插入或删除断点。 单击该按钮后,会弹出如图11.1.12所示的下拉菜单。
// 此处是代码。 }
当调用函数时,需要将传递给该函数的所有参数都放在小 括号中,如下面的代码所示: myFunction("Mike", 65, true);
(4)分号。ActionScript中以分号“;”来表示语句结束, 如下面的代码所示: var yourNum:Number = 50;
当省略分号时,ActionScript 编译器会认为每行代码表示 单个语句。但用户最好养成使用分号的习惯,这样可以增强代 码的可读性。
“脚本助手”按钮“脚本助手”:该按钮的作用在前面 已经介绍过,这里就不再赘述。
“帮助”按钮:显示帮助信息。单击该按钮后弹出如 图11.1.13所示的“帮助”对话框,在“搜索”按钮前面的 文本框中输入需要查询的函数后,单击“搜索”按钮,即可 在右侧的窗口中显示出该函数的详细信息。
图11.1.12 下拉菜单
2)脚本导航器。脚本导航器位于“动作”面板的左下方, 动作工具箱的正下方。其中显示了包含脚本的Flash元素,如 影片剪辑、帧和按钮的分层列表。使得用户可以准确地了解添 加的ActionScript语句的位置。
3)脚本输入区。“脚本输入区”就是位于“动作”面板 右侧的空白窗口。它主要用来键入代码,通常也被称做动作脚 本编辑器,它为创建脚本提供了必要的工具。
在第一次定义变量时,通常会给它赋一个值,称为初始化 变量。对变量进行初始化有助于用户在播放动画时更简单地跟 踪变量的值。
(1)显示隐藏字符。在编写代码时,通常会在脚本中 输入空格、制表符和换行符等隐藏符号。这时当遇到不属 于字符串的双字节空格时,Flash编译器则会发生错误。如 果用户在动作脚本编辑器中显示隐藏的字符就可以查看到 错误的符号,从而节省用户的宝贵时间。
按“Ctrl+Shift+8”组合键,即可显示隐藏的字符,如图 11.1.1所示。
(3)设置首选参数。用户可以在“动作”面板中设置首 选参数,以便在处理应用程序时重新加载修改后的脚本文件。 这些参数在“首选参数”对话框中进行设置,如图11.1.2所示。
图11.1.2 “首选参数”对话框
(4)脚本助手。脚本助手可以帮助用户在不了解语法的 情况下编写代码,这样就有助于用户更轻松地向Flash SWF 文件添加简单的交互性。用户可以将“脚本助手”与“动作” 面板配合使用,“脚本助手”会提示用户选择选项和输入参 数,如图11.1.3所示。
第11章 ActionScript编程
11.1 ActionScript基础 11.2 ActionScript语法规则 11.3 变量、表达式和函数 11.4 常用命令
11.1 ActionScript基础
ActionScript是Flash 8中的编程语言,它可以向Flash应用 程序添加交互性。使用ActionScript,用户不仅可以动态地控制 动画的进行,还可以进行各种运算,从而极大地增强了动画的 交互控制功能。
(2)大括号。使用大括号{}将ActionScript事件、类定义 和函数组合成块,如下面的脚本所示: var numStudents:Number; if (numStudents = 0) {
trace("no users found"); }
(3)小括号。当定义函数时,通常将参数放在小括号()里 面,如下面的代码所示: function myFunction(myName:String, myAge:Number):Void {
图11.1.13 “帮助”对话框
11.2 ActionScript语法规则
由于ActionScript是Flash中的编程语言,它有自己的语法 规则,下面就来进行具体介绍。
11.2.1 常用术语 下面对一些比较重要的ActionScript术语进行介绍。 (1)数据类型。指ActionScript中包括的信息的种类,如
(5)表达式。表达式由运算符和操作数组成,如在表达 式x+2中,“x”和“2”是操作数,“+”是运算符。
(6)函数。是一个可以被重复使用的代码块,能够传递 参数并返回值。
(7)标志符。用来表示对象、函数、属性等的名称,其 第一个字符必须是字母。
(8)实例。是属于某个类的对象,每个实例都包含该类 的所有属性和方法。
11.1.2 “动作”面板 Flash提供了一个专门用于编写动作的开发环境,即“动
作”面板。动作面板位于“场景”窗口的正下方。一般情况下, 它处于关闭状态。当需要编写程序时,用户可以将其打开。
(1)打开“动作”面板。其方法为,首先选择需要附加 代码的帧,然后选择“窗口”→“动作”命令或者按键盘上的 “F9”键即可,如图11.1.4所示。
(10)关于字体呈现和消除锯齿文本。在Flash中, 字体呈现控制文本在SWF文件中的显示方式。Flash Player 8 中使用的高级字体呈现技术FlashType,有助于 文本在以小字体到正常大小字体显示时均能清晰易读。
消除锯齿使用户能够对文本进行平滑处 理,以便使显示在屏幕上的字符的边缘出现 较小的锯齿状,此选项对于更清晰地呈现小 字体尤其有效。
在“脚本输入区”的上面是一行工具ctionScript时的操作。
图11.1.5 工具栏
下面介绍工具栏上各个按钮的主要功能: “新项目添加到脚本中”按钮:单击该按钮后弹出其下拉 菜单,该菜单中包含了Flash 8中所有的语言元素,单击其中的 任意一个选项,会弹出其级联菜单,在其级联菜单中用户可以 选择相应的命令并将其添加到脚本中,如图11.1.6所示。
图11.1.3 “动作”面板
(5)分配链接标识符。在Flash 8中,用户可以为“库” 面板中存储的位图和声音文件分配链接标识符,这样,用户 就可以向“舞台”附加图像或使用共享库中的资源。
(6)向FLA文件添加原数据信息。在Flash 8中,用户 可以在“发布设置”对话框中向FLA文件添加原数据信息。 如为 FLA 文件添加名称和描述。
提示:为动画设置动作必须在关键帧上进行。否则,设 置的动作将会转移到它前面距离最近的那个关键帧上。
11.1.1 ActionScript的新增功能 每次更新Flash版本时,都会在ActionScript语言中添加一
些关键字、对象、方法和其他语言元素,并且比以前更标准地 实现了面向对象的编辑。下面就来介绍ActionScript在Flash 8 中的新增功能。
相关文档
最新文档