flash第4课: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();
}
意思是一按这个按钮,就放掉粘在鼠标上的东西。好了,你做一下试试,体验一下以便加深记忆。
这一课非常重要,是进入第二阶段的基础
flash第5课:常量与变量
放心,这一节课,我们不学任何新的英语单词。你可以花时间来背诵前面学过的单词与语句。
这节课,我们先来学习常量与变量。
什么是常量?就是在程序中自始至终保持不变的数值。
常量分为三种:
一、数值型常量:是具体的数值,可以用来计算的数。如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。
flash第6课: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中的一个随机数。
通过这两句,就把复制品的坐标定下来了,它会出现在某一个地方。随着不断地复制,不断地消失,这雨就下个不停了。
这一课学了两种很有用的语句,还学了一点MC的属性及随机数的知识。内容比较多,好好消化哦。上面的动画不是白看的哟!
呵呵,希望能对大家flash的学习有所帮助^^ |