站内搜索:     
站点首页破釜学院网页制作Flash → 初级as源文件,从0开始学习教程总汇<2>
正在加载相关信息.....
Web 站内搜索
初级as源文件,从0开始学习教程总汇<2>
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2004-07-21 人气: 出处:启航
第四讲:循环语句for,和动态文本
     
点击开新窗口欣赏该FLASH动画![全屏欣赏]
/Upload/2004_Pack/2003101416293972542.swf
循环有for循环和do while循环,他们和上节讲的判断if同等重要,对于要多次重复执行的代码是循环存在的根本。它可以让你从复杂的代码中解脱哦:) 
好了,我们现在先认识它的结构。 
for(init; condition; next){ //init开始记数的初始值;condition是条件,如果条件成立,循环继续,反之呵呵,当然是循环结束了。next就是记数变化的语句了,如果记数不变化,哈哈,会是什么情况?死循环!  
statements; //statements;执行代码,我们已经认识过了。 

理论上的东西总是有点抽象不容易理解,不过没关系,过会结合例题你就会明白了。 
我们现在先简单认识一下动态文本——Dynamic Text。在工具栏上点A,这个时候下面的属性框出现的就是文本框的相关属性。具体请各位看有关资料。这里讲动态文本——Dynamic Text  在属性var(中文版应该是:变量)一项里,可以给文本定义变量,这样用AS对文本操作会更加灵活,也是许多文字特效(鼠标跟随,波浪文字等)制作过程的基本步奏。我们以后不会有太长时间就会接触到这些了:) 先有一个初步的认识吧。 
基本的东西讲完了,请下载今天的例题吧!
点击浏览该文件
请打开文件,不敢相信?这么简单?的确简单 。
第一层,第一帧上放了5个动态文本,随便点一个,看看下面的属性框里面,在var一项是不是有 txtn n=1,2,3,4,5。这就是给动态文本设定的变量。 
下面我们们看看怎么利用这些变量给文本赋值: 
看第二层的第一帧,一看就知道有代码:),打开看看 
for(i=1;i<=5;i++){ 
_root["txt" add i]=i; 

现在我来解释一下代码:开始i=1,满足条件i<=5,所以就执行_root["txt" add i]=i; 
执行完之后,再执行i++,这样i=2,还是满足条件,所以还执行_root["txt" add i]=i; 
直到执行完i=5后,经过i++后i=6了,不满足条件了,循环也就结束了。 
不知道我讲的是否明白,自己体会了,随时提问。 
我们再来认识_root["txt" add i]=i; 
因为文本框在场景中所以我用_root表示路径,如果是在影片中,怎么办呢?这个留给你自己考虑了。 
“txt" add i是一个字符串运算,如果i=1运算结果就是txt1 
如果i=2运算结果就是txt2 
……………………
如果i=5那么结果就是txt5 
最后就是今天的作业了:用循环计算1+2+3+4+…………+100,结果要在动态文本框里面显示。 

      第五讲

点击浏览该文件
   点击开新窗口欣赏该FLASH动画![全屏欣赏]
/Upload/2004_Pack/2003101412515234151.swf

     第五讲:控制影片属性
过了个周末,又和大家见面了:) 
新的星期,新的开始。 
从今天以后的学习将不再是单纯的枯燥乏味了,你学完今天的,你应该可以体会一点点快乐了。因为控制影片属性是很有趣的事情。 
我们先来认识一下影片的属性,我只讲今天用到的,其他的根据英文的意思也能够明白,去看看资料是个不错的主意。 
_alpha 影片的透明度变化值(0~100); 
_xscale 影片的横向大小,也就是长度; 
_yscale 影片的纵向大小,也就是宽度; 
_visible 影片的可见性,值为true时,影片可见;值为false时,影片不可见; 
下边我们来学习怎么控制这些属性。 
控制属性的一个办法就是用: 
setProperty(target, property, value) //target:被控制的对象,也就是要控制影片的名称;property:影片的属性,就是刚刚讲的_alpha等;value:影片属性的值。 
这个语句的作用就是把值value赋给影片的属性。 
另外一个语句:getProperty(instance, property);//instance:影片的名字,property:影片的属性。 
这个语句的作用是获取该影片属性的值。 
先举个例子:a=getProperty(mc,_alpha) 如果mc的透明度为80,那么a=80; 
控制属性的方法之二: 
用点语句直接赋值和调用。 
举个例子:mc._alpha=40; //让影片的透明度为40; 
b=mc._alpha //把影片的透明度值赋给变量 b 
强烈建议开始用第一种方法,为了熟悉AS,请听从建议。 
以后熟悉之后再用第二种方法。 
下面我们看例题吧,请先下载
点击浏览该文件打开:
场景中有一个甲克虫的影片,名字为mov. 
场景中还有6个按扭,我们看透明度“——”按扭上面的代码; 
on(release){ 
setProperty("mov",_alpha,getProperty(mov,_alpha)-5);//语句刚刚学过,还有印象吗?控制当前影片的透明度,按扭每点一次,透明度减小5。 
if(mov._alpha<=0){ //当透明度减小的<0,就让透明度为0 
setProperty("mov",_alpha,0); 


看看这一句:setProperty("mov",_alpha,getProperty(mov,_alpha)-5); 
是不是有点不习惯?不懂?其实它是这两句的合成。 
value=getProperty(mov,_alpha)-5;//影片透明度-5然后把值赋给value 
setProperty(mov,_alpha,value);//把value的值赋给mov的透明度属性。  

其他按扭上的代码就要靠你自己来理解了,相信自己的能力:) 
今天的作业:做一个小球的影片,做四个按扭,点击按扭,影片可以移动,四个按扭控制上,下,左,右。 
提示:利用影片属性_x,_y;//_x影片的横坐标;_y影片的纵
 
    第六讲

点击浏览该文件
点击开新窗口欣赏该FLASH动画![全屏欣赏]
/Upload/2004_Pack/200310141303127117.swf
 第六讲:复制影片duplicateMovieClip
前边的五节课是AS里最基础的,虽然不全面,但是作为入门是足够了,至于以后的提高,还是要你自己加油才行:) 以后的讲解里面如果出现前面基础中没有提到的内容,我会在过程中解释清楚,如果有漏掉的也请及时提出。在讲这一讲的时候我相信你已经把前面的知识点都搞懂了,如果还没有:(,抱歉,请复习,一定做完留着的练习。 
废话少说,我们开始今天的内容。 
duplicateMovieClip是做AS特效中常用到的,作用是复制影片。可以说80%的特效里面都有它,常见的幻影,下雨,下雪,雷电,文本打字,跟随…………太多太多。鉴于它的重要,我会分三次讲,加强记忆,让你能够基本上学会运用。 
我们首先来看看它的格式: 
duplicateMovieClip(target, newname, depth); //target你要复制的影片名称。newname:看英文意思就知道了复制出来的影片赋予它新的名字;depth:深度,复制出来的影片的层深。这个以后我详细讲,简单的来说就是数小的层放在大的层上面,1层在2层的上面,不理解也没有关系,它目前不会影响我们。 
就这点内容。517210你太夸大它了吧?也许吧! 
今天的例题是一个幻影,我觉得蠢材主任做得很棒哦。(不夸夸他他以后不给我配了:)) 
请先下载文件打开
点击浏览该文件,我们一起来看。
按ctrl+l 打开库,里面有两个影片,square,mc. 
先看square里面就是一个简单的兰色矩形。 
再打开mc来看,它是把square拖进去做的一连串动画,呵呵,也很简单。 
好了,回到主场景,我们看看都有什么。 
在第一层把mc拖进来,命名mc,并且拖成两帧(把影片mc拖到一层的第一帧,在第二帧按F5)。 
再看第二层的代码,两帧上都有,我们先看第一帧: 
i++; //每次播放这一帧,i的值加一 
duplicateMovieClip(mc,"mc" add i,i); //这个就是今天的重点了,作用复制影片mc,复制的新影片名字为“mc" add i也就是mci, i是变量,这样可以保证每次复制的影片名字有区别,i是新影片的深度,以后会有详细的解释。 
setProperty("mc" add i,_alpha,100-i*15); //上节课的内容,还记得吗。就是让复制出来的影片mc add i mci的透明度为100—i*15让复制出来的影片透明度随名字不同有变化。 
好了,看看第二帧上的代码: 
if(i<5){ //如果i<5,播放第一帧,i>5停留在这一帧。 
gotoAndPlay(1); //作用是为了复制5个影片,不多也不少。 
}else{ 
stop(); 

注意:duplicateMovieClip要和循环判断还有影片属性控制结合才有它存在的意义,它的作用才能很好的发挥。 
今天的作业:1。自己独立完成这个例题。 
2。自己做一个小球的影片,利用for循环语句,用按扭控制点一下,复制出来10个小球,小球的位置可不要重合了呀,这一点还记得_x,_y属性吗,用他们控制复制影片的坐标。 




>>>> 进入论坛交流 <<<<