FLASH代码初级教程

时间:2022-11-30 04:14 阅读: 评论: 作者:admin

FLASH代码初级教程

  FLASH 代码初级教程 第一课: 这是我们第一次接触到的语句。学代码有以下几条注意事 项: 第一条,你得把单词记住了,四个字母,一个也不能错。 要是字母写错了,那就全完了,我也帮不了你了。 第二条:记住它的意思,这也非常重要。一个单词,究 竟是什么意思呀?不知道怎么用,我也帮不了你了。 第三条:在写代码的时候,要注意大写小写,不能乱写。 上面是标题,全部大写。但写到程序里面去时,不是这个样 子的哦。 第四条: 在使用的时候, 标点符号也是有特定的要求的, 也一点点不能错的?。 今天我们学的 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 帧停住。 好了, 别说太多了。 这一课我们学到了按钮代码的写法, 这像是一种公式化的东西。在代码学习中,尤其要注意公式 化,规范化。可不要把大括号忘记掉了,有时写了前面的大 括号,忘记写后面的大括号,或者把大括号的左右方向写错 了。我经常丢三拉四的,你可别学我哦!

  前面三课, 我们学了几个单词啦?学了几条语句啦?可不要前 学后忘,跟熊?瞎子搿棒子似的呀! 其实,我们前面学到的,是最简单,最常用的了。你已 经可以做出很规范的 MTV 来了。

  什么是规范的 MTV 呢?就是网页一打开,就有一个画面。 而这个画面是停止的。因为有时,用户还没有决定,究竟要 不要往下看。可能他这时有事要走开,去倒杯水啦,上趟卫 生间啦,过一会儿来看;也可能他是看过的,不想继续往下 看。所以,最好是一打开是停止的。所以,你一定是在第一 帧上写了一句: stop();你也正好趁此机会,在第一帧上来个简单的内容介绍, 做做广告。标题,内容简介,作词作曲什么的,引起观众的 兴趣。 然后, 在画面的一角, 出现一个漂亮的按钮, 上写 play。 让观众来按,这一按,影片就开始了。这个按钮上,你一定 是写上了: on(release) { gotoAndPlay(2);

  } 到了影片结束了,让它停止。在最后一帧写上 stop。这 时,你又可以做广告了,动画制作人,QQ 号,Email,谢谢 观赏之类的。这时,在画面上又出现了一个重播 按钮。如果观众想再看一遍,一按就又从头放了。 这个按钮上写的什么代码?我不说了。你一定能猜出来。 这些都是很亲切的很人性化的东西。以人为本嘛。这些 就是规范化的了。 可以说,你学到了前三课,已经进入了一个新的阶段, 祝贺你! 今天,我们要继续前进。不让你有喘息的机会,嘿嘿! 在学习新课之前,先得解决新概念的问题个人HPH学习。 我们知道:符号有三种,一是图形、二是按钮、三是影 片剪辑,即 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、如电线; (而不是八百八十二万四千五百一十七) 。字符串型常量一 定要用引号。字符串也可以用加法,不过,它只是把两个字

  符串连起来,如 abc8824517=abc8 824517 这好像是个汽车牌照了。如果是字符串 725加上字符串18,就成了 72518,只是一个号码,而不是数值。这一 点一定要搞清楚。当然,我们也可以用一种手段,根据需要, 把数值变成电话号码,或者把纯数字的字符串, (如 8824517)变成数值。但含有英文字母或中 国字的字符串则是无法互换的。 字符串只有加, 不能进行减、 乘、除及其它数学方式。 字符串还有一个*作符--连接*作符 add。如: p?add?i 结果就是 pi。如果初始值 i=5,尽管这是一个数值,我们 也因有 add 的存在而把它看作是字符串,结果得出的是 p5。 或者可以说:add 会自动把前后两个全部当作字符串而连接 起来。 也就是说:add 只能连接两个字符。这个 add 也会经常 用到的。 三、逻辑型常量:表示逻辑的真和假,只有两个值: true(线;(假)。比如说:太阳比地球大,这个值 就是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。

  雨点是如何做的呢?是做上几百个小雨点从空中落下来 吗?那不是太累啦! 这儿就用上了标题的这个让语句了,复制影片。 我们先来看看制作的方法与过程: (//后面是说明与解 释) 先做一个 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 中的一个随机数。 通过这两句,就把复制品的坐标定下来了,它会出现在 某一个地方。随着不断地复制,不断地消失,这雨就下个不 停了。

  我们如果要制作如电视中的画中画的效果,可以利用这个语 句来载入另外的 swf 文件。为了控制外来动画的位置,我们 需要先制作一个空 MC。名为 loadswf。 现在把这个 MC 拖入主场景,实例名为 load。现在我们 看到在主场景中只是一个小圆点。这个小圆点将会成为载入

  比如说下面的按钮代码:orBall){ gotoAndStop(5); } } //这个按钮如果按下再松开,就可以命令另外一个名叫 colorBall的 MC 跳到它的第五帧并停在那 儿。这个第五帧不是主场景的第五帧,而是那个 MC 的第五 帧。也可以改变它的属性,放大缩小或是透明度或是移动位 置。 如果一个影片中有好几个按钮,也有好几个 MC,它们 都可以利用这个语句来互相指挥。 下面我们来看一个例子来说明这个语句的功能: 这个帽子运动是一个 MC。实例名为 h。第 15 帧前是行走, 后面是翻滚。我们用了四个按钮来指挥它。 第一个按钮是开始运行: on?(press)?{ tellTarget(_root.h){ gotoAndPlay(1); } }

  我们经常要判断根据什么条件,再来执行什么命令。这就是 条件语句。它的一般格式是这样的: 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 是学

  第十课: 循环语句:for 我们经常会用循环地执行同一个命令,直到不需要执行为 止,这样,使用循环语句就很方便了。 我们先来看 for 的一个例子: for(i=1;i100;i){ duplicateMovieClip(segment,segment?add?i,i); } 这是在复制 MC 的时候常用的一种写法。for 后面的括 号中是它的参数。第一个参数是起始值。就是说,这个循环 从 i=1 开始。第二个参数是结束值。这里是 i100,就是到 了 99 之后就终止循环。第三个参数是步长值,i的意思是 变量自加 1。就是每一次循环就加上 1。这样我们可以知道, 一共会循环 99 次。每一次的 i 值都会加上 1,就是 1,2,3, 一直到 99 为止。在大括号里就是执行的命 令。这里是复制 MC,其实例名叫 segment,这个命令我们前 面学过了,括号中的三个参数中,第一个是要复制的 MC 目 标名称。第二个是复制品的名称。那么这儿的复制品的名称 就是 segment1,segment2,一直到 segment99 为止。第三个参数是复制品的深度。每一个复制品的深度都 跟它的编号是一样的代码编程入门先学什么。这样,一共会产生九十九个复制品。

  我们经常看到这样的代码: 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,是第零层的 意思。这儿的层跟图层是没有关系的。我们可以理解为影片 层,就是影片已经做成之后所组成的一个总的层。主场景里

  setProperty(_root.1.a,?_yscale,?200); } 至于 MC2 的写法请你来写吧。这就是绝对路径的表示 法,它总是从主场景开始向下数的。也就是说:总是先站在 主场景的位置来挨着排下去的。绝对路径是比较好理解的。 下面我们来看一下相对路径: 如果每一次都要从主场景开始排起,有时会感到反而麻 烦。因为有时,我们不是在主场景来写代码,而是在下一级 写代码,也就是说:假如我们是站在 MC1 的立场上,要指 挥下一级 MCa,就没有必要再回到主场景来排队,只要写成 /MCa就可以了。如写在 MC1 上的代码是: tellTarget?(/a){ setProperty(/a,?_xscale,?200); setProperty(/a,?_yscale,?200); } 注意:这几句代码不是写在主场景的帧上面的,而是写 在MC1身上的。你会在MC上写代码吗?这就跟在按钮上 写代码差不多,先点中MC1然后打开写代码的面板。 那么, 如果要在 MCa 上写代码来指挥它的上一级 MC1, 怎么写呢?上一级的相对路径的写法是: ../。 就是写成: tellTarget?(../){

版权声明:本文为 “个人代码云儿美,个人php学习” 原创文章,转载请附上原文出处链接及本声明;

原文链接:http://a.shandingren.com/a/sdd/2022/1130/70.html

留言与评论(共有 条评论)
昵称:
匿名发表
验证码: 点击我更换图片
排行榜
关于我们
扫码关注
Copyright © 2002-2017 南缘网 湘ICP备2022026174号-1