1 FLASH代码初级教程
 
前几个都是我贴的整理到一个帖子里大家看着方便

本文转自
http://coolcodes.cn/bencandy.php?fid-5-id-24-page-1.htm

这个网站上还有很多教程

这是我们第一次接触到的语句。学代码有以下几条注意事项:

  第一条,你得把单词记住了,四个字母,一个也不能错。要是字母写错了,

那就全完了,我也帮不了你了。

  第二条:记住它的意思,这也非常重要。一个单词,究竟是什么意思呀?不

知道怎么用,我也帮不了你了。

  第三条:在写代码的时候,要注意大写小写,不能乱写。上面是标题,全部

大写。但写到程序里面去时,不是这个样子的哦。

  第四条:在使用的时候,标点符号也是有特定的要求的,也一点点不能错的

。 
 

 今天我们学的STOP是停止的意思。就像是马路上红灯亮了,紧急刹车。我们知

道:在以前制作的小动画,当播放完了之后,会自动又从头放起,没完没了地一

遍又一遍地放。最好是让它播完后就停下来,让用户来决定是不是要从头放起。

那么,这个STOP就派上用处了。在你的小动画的最后一帧上,写这个命令:

stop();

  现在我们看到了,除了stop这个单词之外,后面有一个小括号,最后是一个

分号。这是必不可少的,你得记住了。不要光写一个stop,后面什么都不写哦。

至于为什么要写小括号,为什么要写分号,这个留到下一课再讲吧。

好了,这样,你的小动画就再也不会没完没了的了,放到最后一帧就会停下来了

。你可以写上你的网名,让大家看清楚是谁创作的啦!

   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:50   回复此发言  
 
2 第二课:gotoAndPlay(跳到某一帧继续运行)
 
本文转自http://coolcodes.cn/bencandy.php?fid-5-id-25-page-1.htm

  怎么样?有没有把你的小动画的最后一帧加上stop?是不是很听话地停下来

了?体会到了代码的威力了吧。

  好,我们来接着学习第二个语句:

  gotoAndPlay();

  在英语里,这是由四个单词构成的。第一个是go,是去的意思,to是方向,

and是和的意思,或说是并且。play是大家熟悉的了,播放。连起来的意思就是跳

到某一帧去继续运行。括号里一定要填上一个数字。如果(10),就是跳到第十

帧继续运行。注意它的大小写。这后面也有一个分号。可以说:代码的每一句的

最后就是一个分号。

   这个东西有什么用呢?这好像是一个交通警,可以指挥FLASH的运行。就像

  唱歌,有时,唱完一支歌之后,并不是再从头唱的,而是再唱一遍副歌。假

定一首歌有一百帧。当唱到一百帧的时候,写上一句: 
  

gotoAndPlay(80);

  这就是重新回到第八十帧来唱,而不要回到歌曲的头一句来唱。这就起到了

指挥的作用。 这个容易理解吧。

  那么,得寸进尺,我们再来学一个相近的命令:

  gotoAndStop();

  大家一定猜得出来,这个命令是跳到某一帧去停止,听候别的命令。真聪明

。我再打个比方:如赛跑,跑到终点或是某一点的时候,教练告诉运动员,你赶

快到田径场等待别的比赛。是停在田径场。这个命令有两个用处:一个是用于结

束。停在某一个帧上就结束了,可能这一帧是最漂亮的吧?另一个用处是跳到某

一个帧停在那儿,听候其它的命令。例如: 一个小动画的第五十帧上写有

gotoAndStop(20);

  这意思就是说,运行到了五十帧后,不要再运行五十一帧了,回到第二十帧

停在那儿。可能是听候别的命令,也可能是让别的人出场表演了。

  好了,这一课学了两个命令了,有没有搞混呀?顺便补充一句:第一课中的

stop();括号里是不用写数字的,而这一课的括号里必须写上数字,一定要回答这

个问题:跳到第几帧呀?如果你不告诉,这个语句就是错的,无法执行!你这个

指挥官没当好。

   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:51   回复此发言  
 
3 FLASH代码初级教程第三课:按钮上的控制代码
 
本文转自 
http://coolcodes.cn/bencandy.php?fid-5-id-26-page-1.htm

前两课,我们已经学了三个语句了。记住了吗?会用了吗?stop比较简单, 
gotoAndPlay与gotoAndStop稍稍有点儿难。就是那个小括号里面要加上数字。以

后我们还会讲到,小括号里不仅仅是写入数字那么简单,还会写上别的东西,还

会更复杂一些。现在为了便于记忆,先不说这些了。

  这一课,我们要讲按钮上的控制代码,有点儿麻烦哦,可要用心听啊。

  现在我们先来写一个最简单的按钮代码(注意,这些代码不是写在帧上面的

,而是写在按钮上面的): 
on (press) { 
  stop(); 

  凡是按钮代码,都是这个样子的。别急,听我一句一句地解释。

  先是一个on ,意思是当什么什么的时候。后面有一个小括号,小括号里面的

press,意思是“按下”。这一部分的意思就是:“当按钮被按下的时候”,后面

接下来是一个大括号。大括号里的命令就是所要执行的。这儿是停止。就是说:

一个动画正在播放,不管它放到第几帧了,只要一按这个按钮,动画就停止住了

。如果我们这样写: 
on (press) { 
  gotoAndPlay(30); 

  那么,当一按下的时候,这个动画不管播放到第几帧了,它立即会跳到第三

十帧开始继续播放。

  按钮很厉害是不是?现在我们换一个写法: 
on (release) { 
  gotoAndStop(69); 

  现在我们注意到:小括号里写的不是press,而是release,这是什么意思?这

是“松开”的意思。也就是说:在用户按下(press)之后,还不执行,一定要等

用户松开鼠标,才开始执行后面大括号里的命令。这样给用户一个反悔的机会。

要是他不想松开而移走了鼠标,就不会执行。一般我们用release比较多一些。那

么上一句的意思就是:当用户按下按钮并松开鼠标的时候,就跳到第69帧停住。

  好了,别说太多了。这一课我们学到了按钮代码的写法,这像是一种公式化

的东西。在代码学习中,尤其要注意公式化,规范化。可不要把大括号忘记掉了

,有时写了前面的大括号,忘记写后面的大括号,或者把大括号的左右方向写错

了。我经常丢三拉四的,你可别学我哦!

  记住这两个单词:press release

   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:52   回复此发言  
 
4 FLASH代码初级教程第四课:StartDrag(拖动)
 
本文转自 
http://coolcodes.cn/bencandy.php?fid-5-id-27-page-1.htm

前面三课,我们学了几个单词啦?学了几条语句啦?可不要前学后忘,跟熊 瞎子搿棒子似的呀!

  其实,我们前面学到的,是最简单,最常用的了。你已经可以做出很规范的

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(); 

  意思是一按这个按钮,就放掉粘在鼠标上的东西。好了,你做一下试试,体

验一下以便加深记忆。

这一课非常重要,是进入第二阶段的基础

   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:53   回复此发言  
 
5 FLASH代码初级教程第五课:常量与变量
 
本文转自 
http://coolcodes.cn/bencandy.php?fid-5-id-28-page-1.htm

放心,这一节课,我们不学任何新的英语单词。你可以花时间来背诵前面学 
过的单词与语句。 
   
  这节课,我们先来学习常量与变量。 
  

  什么是常量?就是在程序中自始至终保持不变的数值。 
  

  常量分为三种: 
  

  一、数值型常量:是具体的数值,可以用来计算的数。如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。

   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:53   回复此发言  
 
6 FLASH代码初级教程第六课:duplicateMovieClip(复制电影)
 
本文转自
http://coolcodes.cn/bencandy.php?fid-5-id-29-page-1.htm

雨点是如何做的呢?是做上几百个小雨点从空中落下来吗?那不是太累啦!

  这儿就用上了标题的这个让语句了,复制影片。

  我们先来看看制作的方法与过程:(//后面是说明与解释)

  先做一个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中的一个随

机数。

  通过这两句,就把复制品的坐标定下来了,它会出现在某一个地方。随着不

断地复制,不断地消失,这雨就下个不停了。

  这一课学了两种很有用的语句,还学了一点MC的属性及随机数的知识。内

容比较多,好好消化哦。

   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:55   回复此发言  
 
7 FLASH代码初级教程第七课: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缩小到百分之六十。这里是设定MC的属性。_xscale是指原MC的宽,60是百分比。
  如果要移动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放在同一个目录中。才能有效。
   
 
作者:王春彪 

<script></script>

 
2008-9-29 08:57   回复此发言  
 
8 回复:FLASH代码初级教程
 
不管是否在作宣传!

是一个不错的贴子,

大家来看下!

好贴子大家分享!

不错!不错! 顶顶……

   
 
作者:小迷虎儿 

<script></script>

 
2008-9-30 13:36   回复此发言  
 
9 回复:FLASH代码初级教程
 
我感觉写的是在开玩笑~
   
 
作者:学习PS中 

<script></script>

 
2008-9-30 15:10   回复此发言  
 
10 回复:FLASH代码初级教程
 
1
   
 
作者:123.10.138.* 

<script></script>

2008-9-30 16:12   回复此发言  
 
11 回复:FLASH代码初级教程
 
喜欢学习Flash的朋友们请加68767708Flash交流群
   
 
作者:124.130.137.* 

<script></script>

2008-9-30 18:01   回复此发言  
 
12 回复:FLASH代码初级教程
 
3q
   
 
作者:59.63.1.* 

<script></script>

2008-10-3 14:00   回复此发言  
 
13 回复:FLASH代码初级教程
 
前面我们学了多少个语句啦?我没数过,不知你记住了多少?
  现在我们要学一个非常重要非常有用的语句,利用这个语句,我们可以将动作引向当前时间线以外的任意时间线,从而控制当前影片以外的其他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);
}
}
这下明白了这个语句威力有多大了吧?
   
 
作者:124.236.206.* 

<script></script>

2008-10-4 13:56   回复此发言  
 
14 13楼是第八课
 
13楼是第八课
   
 
作者:124.236.206.* 

<script></script>

2008-10-4 13:57   回复此发言  
 
15 FLASH代码初级教程第九课:条件语句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:
week="星期四";break;
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,它就不会跳出,而继续向下看条件来执行。
   
 
作者:124.236.206.* 

<script></script>

2008-10-4 13:58   回复此发言  
 
16 回复:FLASH代码初级教程
 
ding
   
 
作者:218.8.119.* 

<script></script>

2008-10-5 18:43   回复此发言  
 
17 回复:FLASH代码初级教程
 
好,希望楼主有更多的教程贴上来,大家一起学习。非常感谢!!
   
 
作者:m_可人 

<script></script>

 
2008-10-6 09:24   回复此发言  
 
18 回复:FLASH代码初级教程
 
好文,强烈的支持
精品
   
 
作者:nsgtao 

<script></script>

 
2008-10-6 09:43   回复此发言  
 
19 回复:FLASH代码初级教程
 
谢谢加精
   
 
作者:60.0.216.* 

<script></script>

2008-10-6 10:20   回复此发言  
 
20 FLASH代码初级教程第十课:循环语句: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为止。第三个参数是复制品的深度。每一个复制品的深度都跟它的编号是一样的。这样,一共会产生九十九个复制品。这就是利用了循环语句。
   
 
作者:60.0.216.* 

<script></script>

2008-10-6 10:22   回复此发言  
 
21 FLASH代码初级教程第十一课:关于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,是第零层的意思。这儿的层跟图层是没有关系的。我们可以理解为影片层,就是影片已经做成之后所组成的一个总的层。主场景里可以有许多的图层。但做完了之后,只能组成一个主场景电影层。也可以理解成只有一条时间轴。而一个MC有它自己的一条时间轴,尽管它也有好多个图层。那么,这个MC也成为独立的一个电影层。
  为了说明问题,我们来假定一下:
  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);
}
  注意:这几句代码不是写在主场景的帧上面的,而是写在MC1身上的。你会在MC上写代码吗?这就跟在按钮上写代码差不多,先点中MC1然后打开写代码的面板。 
  那么,如果要在MCa上写代码来指挥它的上一级MC1,怎么写呢?上一级的相对路径的写法是:“../”。就是写成:
tellTarget ("../"){ 
setProperty("../", _xscale, 200);
setProperty("../", _yscale, 200);
}
  而在点语法中,可以写成:“_parent”。如:
onClipEvent(load){
_parent._xscale=150;
_parent._yscale=150;
}
  相对路径的出发点不是在主场景,而是从自身所在点出发。这就是与绝对路径不同的地方。如果你觉得有点糊涂的话,不如干脆全部采用绝对路径则更清楚简单了。

FLASH代码初级教程相关推荐

  1. html5教程源码使用方法,HTML初级教程(一)所有的代码和操作方法

    精美的花边边框制作 教程原创: 墨梅冷阁 指导老师: 心心知我心 制作:青青草 因为有很多朋友想学花边边框制作, 但是又没有足够的时间来群里面学 习,为了让更多的朋友学会花边边 框制作,我今天把所有的 ...

  2. flash怎么强制gc_Adode Flash初级教程

    Adode Flash 初级教程 (湖南信息职业技术学院 xxgc.hniu.cn 教务处,湖南 长沙 410200 ) 第一章 入门 一.概述 1 .定义 : 矢量二维动画 2 .适用范围 : 1 ...

  3. Verilog初级教程(23)Verilog仿真中的显示任务

    文章目录 前言 正文 Display/Write Tasks Verilog Strobes Verilog Continuous Monitors Verilog Format Specifiers ...

  4. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  5. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...

  6. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句

    文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...

  7. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  8. Verilog初级教程(12)Verilog中的generate块

    文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...

  9. Verilog初级教程(11)Verilog中的initial块

    文章目录 前言 正文 语法格式 initial块是用来干什么的? initial块何时开始又何时结束? 一个模块中允许有多少个initial块? 参考资料 写在最后 前言 仿真中通常会依次执行一组Ve ...

最新文章

  1. 设置 VirtualBox 虚拟机访问局域网
  2. [读书笔记]《Head First Servlets JSP》2nd
  3. 操作系统信号量和管程
  4. 《大数据、小数据、无数据:网络世界的数据学术》一 3.5 交流融合
  5. 【LeetCode】【HOT】39. 组合总和(回溯)
  6. 使用实体框架核心创建简单的审计跟踪
  7. hdu 2063 过山车(模板)
  8. 判断一个文本文件的编码格式
  9. java static调用吗_java中使用static
  10. CI 笔记 easyui 结合后,左侧导航跳转问题
  11. C#(winform)为button添加背景图片,并去掉各种边框
  12. 绕过TrustedInstaller权限
  13. Spring Cloud【Finchley】实战-05配置中心的搭建(配合使用Eureka)和Config Server高可用
  14. SX1278与STM8L的精美结合。
  15. 【Vue基础知识总结 6,我的支付宝3面+美团4面+拼多多四面
  16. leetcode 5. 最长回文子串(c++)
  17. html 输入框并行,Python:输入文本框并行捕获userinput到OpenCV Live网络摄像头图像...
  18. 【LeGO-LOAM论文阅读(二)--特征提取(二)】
  19. 意外和明天不知道哪个先来
  20. 微信公众号更改头部标题

热门文章

  1. 【深度学习】预训练语言模型-BERT
  2. Day06-简单除法(division)和取余(Surplus)
  3. 5G科技风应用场景PPT模板
  4. Flutter开发之——动画-Rive
  5. 关于聚类的一些经验及其在R中的实现
  6. sketch如何做设计稿交互_《动静之美——Sketch移动UI与交互动效设计详解》历程...
  7. Web 攻防之业务安全:验证码自动识别 测试.
  8. Flash JavaScript
  9. 苹果手机怎么设置闹钟铃声?更改为歌曲铃声,亲测有效
  10. CISCO数据中心虚拟化之VDC技术和配置