首页 办公文档flash代码教程

办公文档flash代码教程

举报
开通vip

办公文档flash代码教程办公文档flash代码教程 flash代码教程 第一课:STOP(停止) 这是我们第一次接触到的语句。学代码有以下几条注意事项: 第一条,你得把单词记住了,四个字母,一个也不能错。要是字母写错了,那就全完了,我也帮不了你了。 第二条:记住它的意思,这也非常重要。一个单词,究竟是什么意思呀,不知道怎么用,我也帮不了你了。 第三条:在写代码的时候,要注意大写小写,不能乱写。上面是标题,全部大写。但写到程序里面去时,不是这个样子的哦。 第四条:在使用的时候,标点符号也是有特定的要求的,也一点点不能错的。 今...

办公文档flash代码教程
办公文档flash代码 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 flash代码教程 第一课:STOP(停止) 这是我们第一次接触到的语句。学代码有以下几条注意事项: 第一条,你得把单词记住了,四个字母,一个也不能错。要是字母写错了,那就全完了,我也帮不了你了。 第二条:记住它的意思,这也非常重要。一个单词,究竟是什么意思呀,不知道怎么用,我也帮不了你了。 第三条:在写代码的时候,要注意大写小写,不能乱写。上面是标题,全部大写。但写到程序里面去时,不是这个样子的哦。 第四条:在使用的时候,标点符号也是有特定的要求的,也一点点不能错的。 今天我们学的STOP是停止的意思。就像是马路上红灯亮了,紧急刹车。我们知道:在以前制作的小动画,当播放完了之后,会自动又从头放起,没完没了地一遍又一遍地放。最好是让它播完后就停下来,让用户来决定是不是要从头放起。 那么,这个STOP就派上用处了。在你的小动画的最后一帧上,写这个命令: stop(); 现在我们看到了,除了stop这个单词之外,后面有一个小括号,最后是一个分号。这是必不可少的,你得记住了。不要光写一个stop,后面什么都不写哦。 至于为什么要写小括号,为什么要写分号,这个留到下一课再讲吧。 好了,这样,你的小动画就再也不会没完没了的了,放到最后一帧就会停下来了。你可以写上你的网名,让大家看清楚是谁创作的啦~ 第二课:gotoAndPlay(跳到某一帧继续运行) 怎么样,有没有把你的小动画的最后一帧加上stop,是不是很听话地停下来 了,体会到了代码的威力了吧。 好,我们来接着学习第二个语句: gotoAndPlay(); 在英语里,这是由四个单词构成的。第一个是go,是去的意思,to是方向,and是和的意思,或说是并且。play是大家熟悉的了,播放。连起来的意思就是跳到某一帧去继续运行。括号里一定要填上一个数字。如果(10),就是跳到第十帧继续运行。注意它的大小写。这后面也有一个分号。可以说:代码的每一句的最后就是一个分号。 这个东西有什么用呢,这好像是一个交通警,可以指挥FLASH的运行。就像唱歌,有时,唱完一支歌之后,并不是再从头唱的,而是再唱一遍副歌。假定一首歌有一百帧。当唱到一百帧的时候,写上一句: gotoAndPlay(80); 这就是重新回到第八十帧来唱,而不要回到歌曲的头一句来唱。这就起到了指挥的作用。 这个容易理解吧。 那么,得寸进尺,我们再来学一个相近的命令: gotoAndStop(); 大家一定猜得出来,这个命令是跳到某一帧去停止,听候别的命令。真聪明。我再打个比方:如赛跑,跑到终点或是某一点的时候,教练告诉运动员,你赶快到田径场等待别的比赛。是停在田径场。这个命令有两个用处:一个是用于结束。停在某一个帧上就结束了,可能这一帧是最漂亮的吧,另一个用处是跳到某一个帧停在那儿,听候其它的命令。例如: 一个小动画的第五十帧上写有 gotoAndStop(20); 这意思就是说,运行到了五十帧后,不要再运行五十一帧了,回到第二十帧停在那儿。可能是听候别的命令,也可能是让别的人出场表演了。 好了,这一课学了两个命令了,有没有搞混呀,顺便补充一句:第一课中的stop();括号里是不用写数字的,而这一课的括号里必须写上数字,一定要回答这个问题:跳到第几帧呀,如果你不告诉,这个语句就是错的,无法执行~你这个指挥官没当好。 第三课:按钮上的控制代码 前两课,我们已经学了三个语句了。记住了吗,会用了吗,stop比较简单, gotoAndPlay与gotoAndStop稍稍有点儿难。就是那个小括号里面要加上数字。以后我们还会讲到,小括号里不仅仅是写入数字那么简单,还会写上别的东西,还会更复杂一些。现在为了便于记忆,先不说这些了。 这一课,我们要讲按钮上的控制代码,有点儿麻烦哦,可要用心听啊。 现在我们先来写一个最简单的按钮代码(注意,这些代码不是写在帧上面的,而是写在按钮上面的): on (press) { stop(); } 凡是按钮代码,都是这个样子的。别急,听我一句一句地解释。 先是一个on ,意思是当什么什么的时候。后面有一个小括号,小括号里面的press,意思是“按下”。这一部分的意思就是:“当按钮被按下的时候”,后面接下来是一个大括号。大括号里的命令就是所要执行的。这儿是停止。就是说:一个动画正在播放,不管它放到第几帧了,只要一按这个按钮,动画就停止住了。如果我们这样写: on (press) { gotoAndPlay(30); } 那么,当一按下的时候,这个动画不管播放到第几帧了,它立即会跳到第三十帧开始继续播放。按钮很厉害是不是,现在我们换一个写法: on (release) { gotoAndStop(69); } 现在我们注意到:小括号里写的不是press,而是release,这是什么意思,这是“松开”的意思。也就是说:在用户按下(press)之后,还不执行,一定要等用户松开鼠标,才开始执行后面大括号里的命令。这样给用户一个反悔的机会。要是他不想松开而移走了鼠标,就不会执行。一般我们用release比较多一些。那么上一句的意思就是:当用户按下按钮并松开鼠标的时候,就跳到第69帧停住。 好了,别说太多了。这一课我们学到了按钮代码的写法,这像是一种公式化的东西。在代码学习中,尤其要注意公式化,规范化。可不要把大括号忘记掉了,有时写了前面的大括号,忘记写后面的大括号,或者把大括号的左右方向写错了。我经常丢三拉四的,你可别学我哦~ 记住这两个单词:press release 第四课:StartDrag(拖动) 前面三课,我们学了几个单词啦?学了几条语句啦,可不要前学后忘,跟熊 瞎子搿棒子似的呀~ 其实,我们前面学到的,是最简单,最常用的了。你已经可以做出很规范的MTV来了。 什么是规范的MTV呢,就是网页一打开,就有一个画面。而这个画面是停止的。因为有时,用 户还没有决定,究竟要不要往下看。可能他这时有事要走开,去倒杯水啦,上趟卫生间啦,过一会儿来看;也可能他是看过的,不想继续往下看。所以,最好是一打开是停止的。所以,你一定是在第一帧上写了一句: stop();你也正好趁此机会,在第一帧上来个简单的内容介绍,做做广告。标题, 内容简介,作词作曲什么的,引起观众的兴趣。 然后,在画面的一角,出现一个漂亮的按钮,上写play。让观众来按,这一按,影片就开始了。这个按钮上,你一定是写上了: on(release), gotoAndPlay(2); } 到了影片结束了,让它停止。在最后一帧写上stop。这时,你又可以做广告了,动画制作人,QQ号,Email,谢谢观赏之类的。 这时,在画面上又出现了一个“重播”按钮。如果观众想再看一遍,一按就又从头放了。这个按钮上写的什么代码,我不说了。你一定能猜出来。 这些都是很亲切的很人性化的东西。以人为本嘛。这些就是规范化的了。 可以说,你学到了前三课,已经进入了一个新的阶段,祝贺你~ 今天,我们要继续前进。不让你有喘息的机会,嘿嘿~ 在学习新课之前,先得解决新概念的问题。 我们知道:符号有三种,一是图形、二是按钮、三是影片剪辑,即MovieClip,简称MC。(以下我只提MC,也让我打字轻松点)。MC是最有用的东西了,编写代码离不开MC。因为它可以有实例名。什么是实例名呢,哇,问题太多了,这些书上全有详细的说明,我就不多说了。我们还是先来举个例子吧。 先做一个MC,名叫:s 里面有一个圆。然后到主场景,把这个圆拖出来。(这就是MC的实例)。点中这个圆,到属性栏,给它起个实例名,叫p。(注意不要把MC的名字与它的实例名搞错了。他们的关系好比是父亲与儿子的关系。我们可以指挥儿子,不能指挥老子。这一点千万拜托搞清,记得牢牢的。) 现在我们做一个“开始拖动”按钮,在按钮上写: on(press){ startDrag("p", true); } 这一句就是今天我们要学的。是“一按下就开始拖动”意思。小括号里是两个参数,逗号前的是第一个参数,就是拖动什么东西,这个p就是我们所要拖动的实例名。假定在场景中有好多个实例名,你一定要指定是哪一个,用引号引起来。逗号后是第二个参数,true在英语里是“真实的、对的”的意思。放在这儿,是指一开始的时候,让这个实例在场景的中心。 这下我们知道怎么用鼠标来拖动一个东西了吧~ 那么怎么把它放掉呢,老是粘在鼠标上总得放掉吧,好的。可以用这个语句: stopDrag(); 这个语句的括号里是没有参数的。跟stop();相似,也是不用写入参数的。而且这个语句跟startDrag();是一对儿,可以一起记。 现在我们在主场景中放上一个“结束拖动”按钮,写上: on(press){ stopDrag(); } 意思是一按这个按钮,就放掉粘在鼠标上的东西。好了,你做一下试试,体验一下以便加深记忆。这一课非常重要,是进入第二阶段的基础。 第五课:常量与变量 放心,这一节课,我们不学任何新的英语单词。你可以花时间来背诵前面学 过的单词与语句。 这节课,我们先来学习常量与变量。 什么是常量,就是在程序中自始至终保持不变的数值。 常量分为三种: 一、数值型常量:是具体的数值,可以用来计算的数。如725、18等。如用加法,则725加18等于743。完全可以用数学方式来处理,如乘法、除法、减法,开方,平方等。 二、字符串型常量:是不可计算的字符,如“abc”、如电话号码“8824517”(而不是八百八十二万四千五百一十七)。字符串型常量一定要用引号。字符串也可以用加法,不过,它只是把两个字符串连起来,如 “abc”+“8824517”=“abc8824517” 这好像是个汽车牌照了。如果是字符串“725”加上字符串“18”,就成了“72518”,只是一个号码,而不是数值。这一点一定要搞清楚。当然,我们也可以用一种手段,根据需要,把数值变成电话号码,或者把纯数字的字符串,(如“8824517”)变成数值。但含有英文字母或中国字的字符串则是无法互换的。字符串只有加,不能进行减、乘、除及其它数学方式。 字符串还有一个操作符--连接操作符add。如: p add i 结果就是pi。如果初始值i=5,尽管这是一个数值,我们也因有add的存在而把它看作是字符串,结果得出的是p5。或者可以说:add会自动把前后两个全部当作字符串而连接起来。也就是说:add只能连接两个字符。这个add也会经常用到的。 三、逻辑型常量:表示逻辑的真和假,只有两个值:"true"(真)或是"false"(假)。比如说:太阳比地球大,这个值就是“true”,说地球比太阳大,这个值就是“false”。在FLASH中,经常用来作出判断:如果是“true”,就做什么动作;如果是“false”就做另外的动作。这就是逻辑型的。这三种常量经常要用到的。我们一定要分辨清楚。 接下来说一说变量: 变量是用于存储可变数据的命名单元,可以用来 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 一些在影片播放时改变了的值,或是计算某些条件是真还是假。一般都是一些英文字词。如你可以写:a=0,i=1,sum=100,word="hello!"。但是有些单词是FLASH内部专用的,你不可以再用来当作变量名。如:if,goto,play,stop等等,当然也不能是true,false。在首次定义一个变量时,最好赋给它一个已知的值,称为初始化变量。初始化变量常常是在影片的第一帧进行。对变量初始化使我们能够在播放影片时更容易跟踪和比较变量的值。也就是说,一开始定义变量:a=0,后来又让a再加上100,再后来,又让a除以10,最后这个a又要减去10,现在a 是多少啦,这就是变量,一直会变的。 也就是说:变量,我们看到的是字母,而实际上,它是代表着前面所说的三种常量的。 一开始说这一课不学单词的,结果还是学了一个:add。 第六课:duplicateMovieClip(复制电影) 先欣赏一下下雨的小动画。(下载源文件) 雨点是如何做的呢,是做上几百个小雨点从空中落下来吗,那不是太累啦~ 这儿就用上了标题的这个让语句了,复制影片。 我们先来看看制作的方法与过程:(//后面是说明与解释) 先做一个MC:drop。小细线,由上而下,在水面时变成一个扁圆水波放大后消失,最后一帧写上STOP。共36帧。然后,再做一个MC:rain。共两帧。把drop拖入到场景中,实例名为drop1。加一层代码层。在第一帧写: duplicateMovieClip ("drop1", c, c); //复制这个drop。新名字为c,深度也是c。 setProperty (c, _x, random (400)); setProperty (c, _y, random (100)-100); //设定复制品的坐标。X随机,在0至399之间;Y随机,在-100至1之间。 第二帧写: gotoAndPlay(1); // 继续在不同的地方复制雨线。这样就会不断地产生雨线了。由于仅两帧,前面 的雨还没消失,后面的雨又复制出来了。 最后把这个MC:rain拖到主场景就可以了,就这么简单。 这个语句小括号里有三个参数。第一个是所要复制的影片的实例名。注意:这儿制作的MC的名字是drop,而实例名是drop1。所以,第一个参数里写的是实例名。不要搞错了。这个容易混淆。 第二个参数是新的实例名,也就是复制品的实例名。这里是c。 第三个参数是深度。因为复制出来的东西,是分成层来显示的。一个层只能放一个复制品。如果几个复制品都放在同一个层,而且位置也一样的话,那么新的复制品就会把旧的复制品盖住了。这里是c。是随意起的。 这样就可以产生一个复制品了。 现在我们再来看以下的这两句: setProperty (c, _x, random (400)); setProperty (c, _y, random (100)-100); 这个语句的意思是设定影片的属性。它也有三个参数: 第一个参数是要设定的影片的名称。这儿是c,就是复制品的名称。第二个参数是属性的名称。一个影片剪辑的属性有许多呢,如透明度(_alpha)、旋转角度(_rotation)、宽度(_width)等等。它们的特点是都用下横杠线打头的。这儿的第一句中_x是指x坐标;第二句中的_y是指y坐标。就是要设定复制品的坐标。 第三个参数是属性值。那么x的坐标值究竟设定为多少呢,是 random(400)。本来,这儿的x坐标也可以设为100,200,一个数字就行了。但是因为我们下雨是随机的,所以设定为一个随机数。这是一个随机数的表达式。是随机产生一个小于400的数字。即从0至399随机产生一个数。y的值也是一个随机数。产生的是从0至99中的一个数,再减去100,结果就是从-100到-1中的一个随机数。 通过这两句,就把复制品的坐标定下来了,它会出现在某一个地方。随着不断地复制,不断地消失,这雨就下个不停了。 这一课学了两种很有用的语句,还学了一点,,的属性及随机数的知识。内容比较多,好好消化哦。上面的动画不是白看的哟~ 第七课:LoadMovie(载入外部影片) 我们如果要制作如电视中的画中画的效果,可以利用这个语句来载入另外的swf文件。为了控制外来动画的位置,我们需要先制作一个空MC。名为loadswf。 现在把这个MC拖入主场景,实例名为load。现在我们看到在主场景中只是一个小圆点。这个小圆点将会成为载入的影片的左上角。因此,你要记下这个小圆点的XY坐标。这样,你就可以知道:将要载入的影片会出现在什么地方,如果不合适,就要把这个小圆点移动一下位置。 现在假定我要载入的SWF文件是jisuanqi.swf。 在主场景放上一个按钮,写上代码: on (press) { loadMovie("jisuanqi.swf", _root.load); } //当按下按钮后,就载入外来动画给名为load的MC实例。 如果要变化一下影片的大小,实际上是变化了load的大小。所以,可以再制一个按钮,写上代码是: on (release) { setProperty("_root.load", _xscale, 60); setProperty("_root.load", _yscale, 60); } //这是把这个MC缩小到百分之六十。这里是设定,,的属性。_xscale是指原,,的宽,,,是百分比。 如果要移动MC的位置:再加一个按钮,写上: on (release) { setProperty("_root.load", _x, 50); setProperty("_root.load", _y, 50); } //这是把MC从原来的坐标移动到XY都是五十的位置上,也就是说:影片的左上角的位置是50,50。 如果要卸载的话,再制作一个按钮,写上代码: on (release) { setProperty("_root.load", _xscale,100); setProperty("_root.load", _yscale, 100); setProperty("_root.load", _x, 250); setProperty("_root.load", _y, 50); unloadMovie("_root.load"); } //这里是在卸载之前,先把MC的一切复原,然后再用卸载语言,不然的话,下一次再载入就不一样了。 制作完毕后,保存为loadmv.swf。这个文件一定要与外来动画jisuanqi.swf放在同一个目录中。才能有效。 二、loadMovieNum("url",level [, variables]) 描述:函数;在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。 首先我们可以看到该函数有3个参数:url、target、variables。其中,最后一个参数“variables”是一个可选参数。 1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。 该函数的此参数和上面loadMovie中的此参数用法完全一致,这里不再作解释。 2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。 加载的时候,可以这样来写: loadMovieNum("01.swf", 1); loadMovieNum("01.swf", 2); loadMovieNum("01.swf", 3); 控制的时候,可以这样使用: _level1._x=10 ; _level2.aa._alpha=50 ; _level3.aa.bb._width=110; 需要注意的的是,每一个级别只能同时存在一个 SWF 或 JPEG 文件。如果两个 SWF 或 JPEG 文件的级别相同,那么后者将替换掉前者。级别不同的_level,级别大的将覆盖掉级别小的,即:数字大的将处于数字小的之上。 3.参数variables:可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。 三、loadMovie/loadMovieNum 的定位 我想,也许这才是大家真正要找的东东:) 1.loadMovie的定位 由于用loadMovie加载进来的 SWF 或 JPEG 文件,最后是放置于目标影片剪辑里的,所以我们完全可以像控制MC的_x和_y,来控制加载到的目标影片剪辑。就好像我们在墙壁(_root)上挂上了一个相框(目标影片剪辑),然后又在相框里面放入(加载)了一张相片(SWF 或 JPEG 文件),那么当我们想挪动相片的位置的时候,只要移动相框的位置就可以了。 比如在主场景中有一个实例名为aa的MC(坐标为(20,30)),我们要在里面加载一个02.swf文件,并且要加载后这个放到相框(_root.aa)中的相片(02.swf)出现在主场景(_root)坐标系的(50,100)处。代码如下: loadMovie ( "02.swf" , _root . aa ); _root . aa . _x = 50 ; _root . aa . _y = 100 ; 在实际应用中,其实更加倾向于用AS创建一个空MC,然后在这个MC中加载外部 SWF 或 JPEG 文件。代码如下: _root . createEmptyMovieClip ( "aa" , 1 ); with ( aa ) { _x = 50 ; _y = 100 ; loadMovie ( "02.swf" ); } 2.loadMovieNum的定位 从前面我们已经知道了,函数loadMovieNum是将 SWF 或 JPEG 文件加载到_level(级别)的。并且是用_level1._x、_level2._x、_level1.aa._x之类的来定位的。比如我们要将02.swf加载到主场景坐标系的(50,100)中,代码如下: loadMovieNum ( "02.swf" , 1 ); _level1 . _x = 50 ; _level1 . _y = 100 ; 但是在测试的时候大家会发现加载进来的02.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置,这是为什么呢, 原来,在没有使用loadMovieNum以前,所有的图形、MC等等都是处于_level0里的,我们通常使用的_root其实就是_level0。你可以作个测试:trace(_root==_level0),你会发现返回值是“true”。 那么,我们用loadMovieNum加载 SWF 或 JPEG 文件的时候,程序就要对你指定的_level进行创建,随后再紧接着载入 SWF 或 JPEG 文件。如果像刚才代码中写的那样,不判断_level是否存在而调用其属性,势必无功而反。 解决的方法也很简单,就是用一个循环来判断指定的_level是否存在。一旦_level产生,那么它的种种属性自然可以调用了。代码如下: loadMovieNum ( "02.swf" , 1 ); onEnterFrame = function () { if ( _level1 ) { with ( _level1 ) { _x = 50 ; _y = 100 ; } delete onEnterFrame ; } }; 或者: loadMovieNum ( "02.swf" , 1 ); function go () { if ( _level1 ) { with ( _level1 ) { _x = 50 ; _y = 100 ; } clearInterval ( fps ); } } fps = setInterval ( go ); 第八课:指挥别的MC:TellTarget 前面我们学了多少个语句啦,我没数过,不知你记住了多少, 现在我们要学一个非常重要非常有用的语句,利用这个语句,我们可以将动作引向当前时间线以外的任意时间线,从而控制当前影片以外的其他MC。也就是说:我们可以站在这个MC的位置上,去指挥别的MC的动作。这是不是很神奇,它只有一个参数,就是所要控制的那个MC的实例名。比如说下面的按钮代码: on(release){ tellTarget("_root.colorBall"){ gotoAndStop(5); } } //这个按钮如果按下再松开,就可以命令另外一个名叫“colorBall”的MC跳到它的第五帧并停在那儿。这个第五帧不是主场景的第五帧,而是那个MC的第五帧。也可以改变它的属性,放大缩小或是透明度或是移动位置。 如果一个影片中有好几个按钮,也有好几个MC,它们都可以利用这个语句来互相指挥。 下面我们来看一个例子来说明这个语句的功能: 这个帽子运动是一个MC。实例名为h。第15帧前是行走,后面是翻滚。我们用了四个按钮来指挥它。 第一个按钮是开始运行: on (press) { tellTarget("_root.h"){ gotoAndPlay(1); } } 第二个按钮是让它停止在第18帧上: on (press) { tellTarget("_root.h"){ gotoAndStop(18); } } 第三个按钮是将它放大一倍: on (press) { tellTarget ("_root.h") { setProperty("_root.h", _xscale, 200); setProperty("_root.h", _yscale, 200); } } 第四个按钮是让它复原大小: on (press) { tellTarget ("_root.h") { setProperty("_root.h", _xscale, 100); setProperty("_root.h", _yscale, 100); } } 第九课:条件语句if及switch 我们经常要判断根据什么条件,再来执行什么命令。这就是条件语句。它的一般格式是这样的: if(条件){ 符合条件就......; }else{ 不符合条件就......; } 例如: if(a=0){ b=0; }else{ b=1; } //a=0是条件。如果是,那么就让b也等于0。如果a不是0,那么就让b=1。 这是在只有一个条件的情况下的语句。要是有好几个条件,会得出不同的结果,怎么写呢, 下面这个例子很好地说明了它的用法。我们想把学生的不同考分来区别不同的级别。不足60分的 定为D级,60以上不足70分的定为C级,70以上不足85分的定为B级,85以上不足100分的定为 A级。下面的例子中,result是学生考分,grade是级别。 if(result<60){ grade="D"; }else if(result<70){ grade="C"; }else if(result<85){ grade="B"; }else if(result<=100){ grade="A"; } 这样四个条件,就得出四种不同的结果。包含了全部的可能性。 下面我们再来看一个特殊的条件语句:switch。 例如:在电脑中,星期日是用0来表示的,星期六是用6来表示的。我们需要把数字转换成中文。假定我们以day作为星期值的变量。那么,day=0,就是星期天,day=6就是星期六。一共是七个数字。我们要以week来表示中文。以下语句就是用来把数字转换成中文的。 switch (day){ case 0: week="星期日";break; case 1: week="星期一";break; case 2: week="星期二";break; case 3: week="星期三";break; case 4: ";break; week="星期四 case 5: week="星期五";break; case 6: week="星期六";break; } switch会对后面括号里的条件进行判断,如果条件的值等于case后面的值,就执行紧跟的语句块,执行之后,再根据break,跳出switch语句,结束执行。现在下面有七个case,只要day的值等于case其中的一个值,它就会执行case的冒号后的命令,然后因为有一个break,它就会执行后跳出。我们假定day是3,那么,就会到case 3去,执行:week="星期三",再跳出去。这样就得到了week的中文。要注意的是:这里case的值是一个明确的固定的数值,不适合大于多少小于多少。另外,如果没有break,它就不会跳出,而继续向下看条件来执行。 第十课:循环语句:for 我们经常会用循环地执行同一个命令,直到不需要执行为止,这样,使用循环语句就很方便了。 我们先来看for的一个例子: for(i=1;i<100;i++){ duplicateMovieClip("segment","segment" add i,i); } 这是在复制MC的时候常用的一种写法。for后面的括号中是它的参数。第一个参数是起始值。就是说,这个循环从i=1开始。第二个参数是结束值。这里是i<100,就是到了99之后就终止循环。第三个参数是步长值,i++的意思是变量自加1。就是每一次循环就加上1。这样我们可以知道,一共会循环99次。每一次的i值都会加上1,就是1,2,3,„„一直到99为止。在大括号里就是执行的命令。这里是复制MC,其实例名叫segment,这个命令我们前面学过了,括号中的三个参数中,第一个是要复制的MC目标名称。第二个是复制品的名称。那么这儿的复制品的名称就是segment1,segment2,„„ 一直到segment99为止。第三个参数是复制品的深度。每一个复制品的深度都跟它的编号是一样的。这样,一共会产生九十九个复制品。这就是利用了循环语句。 第十一课:关于MC的路径 我们经常看到这样的代码: on (press) { tellTarget ("_root.h") { setProperty("_root.h", _xscale, 200); setProperty("_root.h", _yscale, 200); } } 这里面的_root就是一个MC的路径。因为我们如果要指挥一个MC,就要指明这个MC在什么位置上。在FLASH中,有主场景,自然就有分场景,也就是说:主场景是最高级,其它MC是主场景的下级,有时MC还有自己的下级MC。所以,我们在调用一个MC的时候,除了要标明MC的实例名以外,还得标明它的路径,也就是沿着什么路可以找到它, 在一般情况下,我们把主场景称为_root,在英语里是“根”的意思。也可以称为_level0,是第零层的意思。这儿的层跟图层是没有关系的。我们可以理解为影片层,就是影片已经做成之后所组成的一个总的层。主场景里可以有许多的图层。但做完了之后,只能组成一个主场景电影层。也可以理解成只有一条时间轴。而一个,,有它自己的一条时间轴,尽管它也有好多个图层。那么,这个,,也成为独立的一个电影层。 为了说明问题,我们来假定一下: 1、主场景; 2、MC1,它里面还包含一个MCa。 3、MC2。 第一个级别是主场景。第二个级别是MC1和MC2,它们俩是平级的。第三个级别是MCa,因为它是包含在MC1的里面的。 现在我们先学用绝对路径来表示: 表示MC1的写法是:_root.1 如: tellTarget ("_root.1"){ setProperty("_root.1", _xscale, 200); setProperty("_root.1", _yscale, 200); } 表示MCa的写法是: _root.1.a 如: tellTarget ("_root.1.a"){ setProperty("_root.1.a", _xscale, 200); setProperty("_root.1.a", _yscale, 200); } 至于MC2的写法请你来写吧。这就是绝对路径的表示法,它总是从主场景开始向下数的。也就是说:总是先站在主场景的位置来挨着排下去的。绝对路径是比较好理解的。 下面我们来看一下相对路径: 如果每一次都要从主场景开始排起,有时会感到反而麻烦。因为有时,我们不是在主场景来写代码,而是在下一级写代码,也就是说:假如我们是站在MC1的立场上,要指挥下一级MCa,就没有必要再回到主场景来排队,只要写成“/MCa"就可以了。如写在MC1上的代码是: tellTarget ("/a"){ setProperty("/a", _xscale, 200); setProperty("/a", _yscale, 200); } 注意:这几句代码不是写在主场景的帧上面的,而是写在,,,身上的。你会在,,上写代码吗,这就跟在按钮上写代码差不多,先点中,,,然后打开写代码的面板。 那么,如果要在MCa上写代码来指挥它的上一级MC1,怎么写呢,上一级的相对路径的写法是:“../”。就是写成: tellTarget ("../"){ setProperty("../", _xscale, 200); setProperty("../", _yscale, 200); } 而在点语法中,可以写成:“_parent”。如: onClipEvent(load){ _parent._xscale=150; _parent._yscale=150; } 相对路径的出发点不是在主场景,而是从自身所在点出发。这就是与绝对路径不同的地方。如果你觉得有点糊涂的话,不如干脆全部采用绝对路径则更清楚简单了。 第十二课:getProperty(取得MC的属性) 前面我们曾学过一个语句是setProperty,这是设定MC的属性。如:setProperty("drop", _x, 50);是把实例名为“drop"的MC的X坐标设为50的意思。那么,如果我们不知道一个MC的X坐标是多少这时,我们就可以用getProperty 这个语句得到。 我们来看一个例子: a=getProperty("drop",_x); 在getProperty是属于函数类的,它会返回一个确定的值,而不是做什么动作。在它的小括号中,有二个参数,第一个参数是指明是哪一个MC,第二个参数是指明什么属性,是坐标还是透明度,还是别的什么属性。这样,就会得到它的结果。如这儿a的值就等于50。 假定这时,你想让另外一个MC名为drop1的X坐标跟它一样,那就可以这样写: setProperty("drop1",_x,a); 事实上,这两句可以合并成一句话: setProperty("drop1",_x,getProperty("drop",_x); 这只是第三个参数的值直接用了“取得”语句,把所取得的值来作为第三个参数。相信你看了之后不会觉得乱成一团吧,
本文档为【办公文档flash代码教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_496339
暂无简介~
格式:doc
大小:49KB
软件:Word
页数:0
分类:互联网
上传时间:2017-10-18
浏览量:2