![第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)課件_第1頁](http://file4.renrendoc.com/view/686d83283ee050aba2035b87546cd204/686d83283ee050aba2035b87546cd2041.gif)
![第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)課件_第2頁](http://file4.renrendoc.com/view/686d83283ee050aba2035b87546cd204/686d83283ee050aba2035b87546cd2042.gif)
![第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)課件_第3頁](http://file4.renrendoc.com/view/686d83283ee050aba2035b87546cd204/686d83283ee050aba2035b87546cd2043.gif)
![第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)課件_第4頁](http://file4.renrendoc.com/view/686d83283ee050aba2035b87546cd204/686d83283ee050aba2035b87546cd2044.gif)
![第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)課件_第5頁](http://file4.renrendoc.com/view/686d83283ee050aba2035b87546cd204/686d83283ee050aba2035b87546cd2045.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)項(xiàng)目三交互生日賀卡第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)項(xiàng)目三交互生日賀卡1加入\移除演員在單擊鼠標(biāo)位置動(dòng)態(tài)加入演員發(fā)老虎演員素材.fla在單擊實(shí)例時(shí),移除發(fā)斑馬素材.fla加入\移除演員在單擊鼠標(biāo)位置動(dòng)態(tài)加入演員§2-1動(dòng)畫演員的增減改造項(xiàng)目1:使演員數(shù)量進(jìn)行動(dòng)態(tài)變換實(shí)現(xiàn)交互,鼠標(biāo)單擊加入老虎動(dòng)物角色,增加10個(gè)時(shí),出現(xiàn)瞄準(zhǔn)器.移動(dòng)瞄準(zhǔn)器,單擊后可刪除已加入的老虎角色.§2-1動(dòng)畫演員的增減改造項(xiàng)目1:使演員數(shù)量進(jìn)行動(dòng)態(tài)變換準(zhǔn)備素材背景底圖、老虎影片剪輯、瞄準(zhǔn)器影片剪輯實(shí)現(xiàn)思路鼠標(biāo)單擊出現(xiàn)老虎角色的技術(shù)支持將老虎元件屬性定義為類,單擊時(shí)不斷創(chuàng)建該類的實(shí)例定義事件(click)偵聽器,編寫監(jiān)聽函數(shù)copyMc()加入演員。并計(jì)數(shù)當(dāng)老虎數(shù)量達(dá)到10個(gè)時(shí),不在增加老虎.用瞄準(zhǔn)器刪除老虎的技術(shù)當(dāng)計(jì)數(shù)到10個(gè)時(shí),出現(xiàn)瞄準(zhǔn)器,單擊可以刪除老虎演員sh_mc.startDrag(true);刪除click偵聽器;重新注冊(cè)偵聽器,定義刪除函數(shù)當(dāng)只剩最后一個(gè)老虎時(shí),不再刪除準(zhǔn)備素材程序代碼varm=1;stage.addEventListener(MouseEvent.CLICK,copyMc);functioncopyMc(me:MouseEvent){ vartCopyMc:tiger=newtiger(); tCopyMc.x=mouseX; tCopyMc.y=mouseY; this.addChild(tCopyMc); m=m+1; if(m>=11){ sh_mc.startDrag(true); stage.removeEventListener(MouseEvent.CLICK,copyMc); stage.addEventListener("click",delMc); functiondelMc(me:MouseEvent){ removeChild(DisplayObject(me.target)); m=m-1; if(m==1){ stage.removeEventListener("click",delMc);} }//增加了DisplayObject()函數(shù),將隱匿的對(duì)象轉(zhuǎn)換為顯示對(duì)象
}}程序代碼varm=1;事件的目標(biāo)對(duì)象targetEvent類的target和currentTarget屬性target屬性存儲(chǔ)對(duì)事件目標(biāo)的引用currentTarget屬性存儲(chǔ)對(duì)當(dāng)前正在處理事件對(duì)象的顯示列表對(duì)象的引用varcircleMC:MovieClip=MovieClip(e.target)還可以寫成varcircleMC:MovieClip=e.targetasMovieClip即聲明一個(gè)名稱為circleMC的MovieClip對(duì)象,讓它等于一個(gè)也是MovieClip類型的對(duì)象MovieClip(e.target)相當(dāng)于把e.target轉(zhuǎn)化為MovieClip對(duì)象
事件的目標(biāo)對(duì)象targetEvent類的target和庫中定義影片剪輯類8?jìng)€(gè)隨機(jī)彩色氣泡鼠標(biāo)跟隨技術(shù)實(shí)現(xiàn)要點(diǎn):建立氣泡影片剪輯圓注冊(cè)點(diǎn)不在中心位置,加濾鏡陰影效果.制作位置移動(dòng)動(dòng)畫2.庫中定義影片剪輯類ball3.注冊(cè)幀頻偵聽事件4.事件函數(shù)功能產(chǎn)生類ball的實(shí)例,改變其旋轉(zhuǎn)度,顏色,使產(chǎn)生的ball實(shí)例變?yōu)榭赏蟿?dòng).5.產(chǎn)生一定數(shù)量后,刪除偵聽器庫中定義影片剪輯類8?jìng)€(gè)隨機(jī)彩色氣泡鼠標(biāo)跟隨技術(shù)實(shí)現(xiàn)要點(diǎn):隨機(jī)彩色氣泡鼠標(biāo)跟隨流程圖初始化計(jì)數(shù)器i;申請(qǐng)顏色變量myColor;定義事件函數(shù)copyball();注冊(cè)幀頻事件偵聽器;i<8產(chǎn)生新的氣泡;定義氣泡的旋轉(zhuǎn)度;定義氣泡的顏色;將氣泡添加到主時(shí)間軸中;使氣泡可拖動(dòng);i增加1;i=0;移除幀頻事件偵聽器;是否隨機(jī)彩色氣泡鼠標(biāo)跟隨初始化計(jì)數(shù)器i;定義事件函數(shù)copyba隨機(jī)彩色氣泡鼠標(biāo)跟程序代碼隨機(jī)彩色氣泡鼠標(biāo)跟程序代碼創(chuàng)建顯示列表舞臺(tái)是Stage類的實(shí)例,其屬性是通過變量stage屬性來引用.Stage類屬于容器類,可以在舞臺(tái)中添加其他顯示實(shí)例.在默認(rèn)情況下,主時(shí)間軸是顯示實(shí)例,已添加在舞臺(tái)中.任何一個(gè)顯示實(shí)例肯定在一定的顯示容器中,在實(shí)例化顯示類時(shí),要使用addChild()方法將顯示實(shí)例添加到顯示列表中.添加和移除顯示實(shí)例的方法addChild()將顯示實(shí)例添加到顯示列表中addChildAt()通過索引將顯示實(shí)例添加到顯示列表中removeChild()從顯示列表中移除顯示實(shí)例removeChildAt()通過索引從顯示列表中移除顯示實(shí)例要檢測(cè)顯示容器中,有幾個(gè)顯示實(shí)例,可以用numChildren屬性容器名稱.numChildren給顯示對(duì)象命名顯示對(duì)象變量.Name=“XXXX”創(chuàng)建顯示列表舞臺(tái)是Stage類的實(shí)例,其屬性是通過變量sta顯示列表示例varsp1:Sprite=newSprite();varsp2:Sprite=newSprite();=“sp2”;varsp3:Sprite=newSprite();varsp4:Sprite=newSprite();S=“sp2_sp4”;//name屬性定義實(shí)例名stage.addChild(sp1);this.addChild(sp2);sp2.addChild(sp3);sp2.addChild(sp4);rootstagesp1sp2sp3sp4trace(stage.numChildren);//檢測(cè)某個(gè)容器有幾個(gè)顯示實(shí)例trace(this.numChildren);trace(sp2.numChildren);注意:程序創(chuàng)建的顯示對(duì)象,不能通過簡(jiǎn)單的點(diǎn)語法來訪問;顯示列表的實(shí)例是手工創(chuàng)建的影片剪輯實(shí)例時(shí),可用點(diǎn)語法向下訪問顯示列表示例varsp1:Sprite=newSpritMovieClip、Sprite、Shape的區(qū)別MovieClip:擁有一個(gè)時(shí)間軸,動(dòng)態(tài)類。三者都包括graphics屬性Sprite:不需要時(shí)間軸的對(duì)象的相應(yīng)基類,是去掉了時(shí)間軸的MovieClip,不是動(dòng)態(tài)類。對(duì)象是顯示對(duì)象容器,Sprite對(duì)象支持鼠標(biāo)單擊事件。Shape:創(chuàng)建簡(jiǎn)單形狀。Shape對(duì)象比包含相同圖形的Sprite對(duì)象消耗的內(nèi)存少,不支持鼠標(biāo)單擊事件(startDrag()),不是容器不能包含子顯示對(duì)象。MovieClip、Sprite、Shape的區(qū)別Movie上一級(jí)引用從下向上訪問:parent屬性trace();trace(sp4.parent.P);rootstagesp1sp2sp3sp4下一級(jí)引用getChildAt();據(jù)索引來訪問getChildByName(name:String);據(jù)實(shí)例名來訪問01上一級(jí)引用從下向上訪問:parent屬性rootstages舞臺(tái)內(nèi)反復(fù)運(yùn)動(dòng)的足球足球素材.fla(P36)通過幀頻事件,以一定的增量不斷改變影片剪輯的X、Y坐標(biāo).If語句判斷上下左右邊界的處理Y<0Y>300X<0X>500舞臺(tái)內(nèi)反復(fù)運(yùn)動(dòng)的足球足球素材.fla(P36)with語句多次參考元件的各個(gè)屬性或方法,不需一再指定元件的名稱。從而潛在地減少需要編寫的代碼量with(實(shí)例名稱){程序語句}2.with(mymc){ x=100; y=100; scaleX=2; scaleY=2; alpha=0.9; rotation=45;}示例:福到了1.繪制影片剪輯,30*30正方形,在其上部輸入福字并旋轉(zhuǎn)135度,名為m_mc,放于場(chǎng)景在上角.with語句多次參考元件的各個(gè)屬性或方法,不需一再指定元件的演員由遠(yuǎn)而近走來的效果(move源文件.fla)角色在場(chǎng)景中進(jìn)行移動(dòng),同時(shí)有近大遠(yuǎn)小的效果.用with進(jìn)行源文件的修改(move.fla)§2-2演員的動(dòng)作表演演員由遠(yuǎn)而近走來的效果(move源文件.fla)§2-2演員改造項(xiàng)目2演員按指定位置行走(xymove.fla)角色在場(chǎng)景中,能按照鼠標(biāo)點(diǎn)擊的位置進(jìn)行移動(dòng),同時(shí)有近大遠(yuǎn)小的效果.參P42人物朝指定位置行走(女孩走路素材.fla)§2-2演員的動(dòng)作表演改造項(xiàng)目2演員按指定位置行走(xymove.fla)§2-2準(zhǔn)備素材背景底圖、女孩走路影片剪輯gril_mc實(shí)現(xiàn)思路設(shè)定gril_mc的初始位置,定義目標(biāo)位置,走路動(dòng)作停止.設(shè)置偵聽器函數(shù),編寫監(jiān)聽函數(shù)setXY,使女孩走路的目標(biāo)位置由單擊鼠標(biāo)決定.設(shè)置enterFrame事件偵聽器,編寫女孩走到目標(biāo)位置的實(shí)現(xiàn)方法.主要包括XY的變化,大小的變化.準(zhǔn)備素材程序代碼varmoveL=this.height-girl_mc.height;//this.height是場(chǎng)景中對(duì)象重疊時(shí),最高的數(shù)據(jù);girl_mc.x=250;girl_mc.y=18;varmyX=girl_mc.x;varmyY=girl_mc.y;girl_mc.stop();stage.addEventListener("click",setXY);functionsetXY(me:MouseEvent){ myX=this.mouseX; myY=this.mouseY; girl_mc.play();}
stage.addEventListener("enterFrame",moveGirl);functionmoveGirl(me:Event){with(girl_mc){if(y<moveL){ if(x<myX){x=x+2;} elseif(x>myX){x=x-2; } if(y<myY){ y=y+2; height+=(height/120); width+=(width/120);} elseif(y>myY){ y=y-2; height-=(height/120); width-=(width/120);} } else{ stop();}if(y==myY&&x==myX){ stop(); }}}程序代碼varmoveL=this.height-girl作業(yè)完成仿真3D角色移動(dòng),參見書P44作業(yè)完成知識(shí)技能總結(jié)計(jì)數(shù)器變量的定義var變量名:數(shù)據(jù)類型數(shù)據(jù)類型簡(jiǎn)單類型5個(gè):int(32有符號(hào)整數(shù)).vara:int=3.45;varname:String=“fox”uint(32位無符號(hào)整數(shù),非負(fù)整數(shù))表示顏色值、鍵控代碼值等varcolor:uint=0xff9900;trace(color);輸出表示十進(jìn)制整數(shù)的顏色值constKEY_A:uint=65;鍵A的代碼值Number浮點(diǎn)運(yùn)算對(duì)于浮點(diǎn)運(yùn)算不能用==判斷2個(gè)數(shù)是否相等,浮點(diǎn)計(jì)算有誤差trace(0.15+0.15==0.3)truetrace(0.1+0.2==0.3)false.知識(shí)技能總結(jié)知識(shí)技能總結(jié)數(shù)據(jù)類型簡(jiǎn)單類型:Boolean布爾值.非此即彼的數(shù)據(jù),取值ture,false;varisRight:
Boolean=true;String類型,由單引號(hào)或雙引號(hào)括起來的字符串字符串的長度與索引:varname:String=“foxhhyy”;trace(name.length);7索引從0開始trace(name.charAt(2));x—返回指定位置索引的字符知識(shí)技能總結(jié)知識(shí)技能總結(jié)數(shù)據(jù)類型復(fù)雜數(shù)據(jù)類型:包與類flash包是FlashCS和Flex共用的包,是AS3基礎(chǔ)包fl包是FlashCS組件相關(guān)的包,F(xiàn)lashCS專有包。
引用數(shù)據(jù)類型函數(shù)類型類類型接口類型flash.utils包中的部分函數(shù)fl與flash部分包Object,MovieClip,SimpleButton,ErrorTextField,Date,ArrayFunction,XMLAS3的頂級(jí)類知識(shí)技能總結(jié)引用數(shù)據(jù)類型函數(shù)類型類類型接口類型flash.u知識(shí)技能總結(jié)使用Stage類stage是Stage類的實(shí)例,常用屬性:stage.frameRate;舞臺(tái)幀速度stage.stageWidth,stage.stageHeightstage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實(shí)現(xiàn)用單擊方式改變?nèi)粱蛲顺鋈两换コ绦蛑R(shí)技能總結(jié)知識(shí)技能總結(jié)stage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實(shí)現(xiàn)用單擊方式改變?nèi)粱蛲顺鋈两换コ绦騰arisFull:Boolean=false;stage.addEventListener("click",fullscreen);functionfullscreen(me:Event){ isFull=!isFull; if(isFull){ stage.displayState="fullScreen"; } else{ stage.displayState="normal"; }}知識(shí)技能總結(jié)varisFull:Boolean=fals知識(shí)技能總結(jié)使用MoiveClip類用程序(編程繪制填充圓形.fla)實(shí)現(xiàn)在舞臺(tái)上建立一個(gè)圓形r=15影片剪輯對(duì)象,填充為紅色,邊線粗細(xì)2,黑色。用MoiveClip類的graphics屬性繪制圓形.顯示對(duì)象用addChild()添加到顯示列表中varc_mc:MovieClip=newMovieClip();c_mc.graphics.lineStyle(2,0x000000);c_mc.graphics.beginFill(0xff0000);c_mc.graphics.drawCircle(250,175,15);addChild(c_mc);知識(shí)技能總結(jié)varc_mc:MovieClip=newM§2-2演員的動(dòng)作表演項(xiàng)目2:持續(xù)旋轉(zhuǎn)與變換顏色效果綿羊角色會(huì)隨著鼠標(biāo)位置來改變自身的旋轉(zhuǎn)角度大小,旋轉(zhuǎn)速度與方向.其背后光束效果,會(huì)隨機(jī)變換顏色rotation&chgcolor素材.fla§2-2演員的動(dòng)作表演項(xiàng)目2:持續(xù)旋轉(zhuǎn)與變換顏色效果準(zhǔn)備素材背景底圖綿羊影片剪輯Sheep_mc光束color_mcAS圖層實(shí)現(xiàn)思路設(shè)定Sheep_mc的最大轉(zhuǎn)速設(shè)置偵聽器函數(shù),enterFrame事件.編寫監(jiān)聽函數(shù)gotRot,使Sheep_mc的_rotation屬性會(huì)根據(jù)當(dāng)前鼠標(biāo)的位置進(jìn)行旋轉(zhuǎn).對(duì)象的旋轉(zhuǎn)屬性指定影片剪輯的旋轉(zhuǎn)角度.屬性值在0~180順時(shí)針方向-180~0逆時(shí)針方向.超出范圍時(shí),數(shù)值加上或減去360的倍數(shù)即可.如:mc.rotation=450等于mc.rotation=90實(shí)現(xiàn)光束顏色的隨機(jī)改變.準(zhǔn)備素材程序代碼varmaxSpeed:int=60;this.addEventListener("enterFrame",goRot);functiongoRot(me:Event){ vardifX=this.mouseX; vardifY=this.mouseY; varnum=difX+difY; num=Math.round(num/10); varspeed=maxSpeed-num; sheep_mc.rotation+=speed;//0-180順時(shí)針,-180-0逆時(shí)針;
//實(shí)現(xiàn)背景顏色1秒的變換 varcolor_array:Array=[0xff0000,0x00ff00,0xffff00,0x0000ff]; varmy_color:ColorTransform=newColorTransform(); vari:Number; i=Math.floor(Math.random()*color_array.length); my_color.color=color_array[i]; color_mc.transform.colorTransform=my_color; }程序代碼varmaxSpeed:int=60;知識(shí)技能總結(jié)頂級(jí)類數(shù)學(xué)MathMath類的屬性稱為類屬性,通過類名來訪問。常用屬性和方法:Math.PI,Math.sin(),Math.cos(),Math.random(),Math.floor(),Math.round()Math.sin()\cos()是以弧度為單位,要將角度轉(zhuǎn)為弧度:angle*Math.PI/180=angle*0.0174533;隨機(jī)方法Math.random().返回0<=Math.random()<1小數(shù).如果得到A~B之間的隨機(jī)數(shù),用下面代碼表示:A+(B-A)*Math.random();如:Math.random()*10+10;返回大于等于10,小于20的小數(shù)知識(shí)技能總結(jié)知識(shí)技能總結(jié)頂級(jí)類數(shù)學(xué)Math.random()*取整方法1.將小數(shù)賦值給int或uint類型的變量時(shí),小數(shù)部分被忽略vart:uint=Math.random()*11+10;//產(chǎn)生10到20間的整數(shù),包括10、20Vart:int=Math.random()*21-10;返回的數(shù)據(jù)范圍是多少?2.Math.floor(3.59/-3.59);返回小于等于最接近指定值的整數(shù)值.3/-43.Math.round(3.59/-3.5);返回最接近指定值的整數(shù)值(較大).4/-3知識(shí)技能總結(jié)知識(shí)技能總結(jié)取隨機(jī)整數(shù)時(shí),應(yīng)使用floor()方法而不是round()方法進(jìn)行隨機(jī)取整.例:for(vari:int=0;i<100;i++)trace(Math.round(Math.random()*21));//返回包括21在內(nèi)的整數(shù);當(dāng)random()返回的小數(shù)大于20并小于20.5時(shí),round()取整為20;大于20.5取整為21;所以0的概率少了一半;trace(Math.floor(Math.random()*21));//返回不包括21在內(nèi)的整數(shù)且隨機(jī)數(shù)準(zhǔn)確.參見書P60實(shí)例知識(shí)技能總結(jié)知識(shí)技能總結(jié)頂級(jí)類數(shù)組Array:將一系列數(shù)據(jù)有序地組織起來,進(jìn)行批量的處理和操作。varemployee:Array=[“Adobe”,”Facebook”,”Apple”]或一系列顏色值varemployee:Array=newArray();employee[0]=“Adobe”;employee[1]=“Facebook”;employee.length數(shù)組長度;數(shù)組下標(biāo)從0知識(shí)技能總結(jié)知識(shí)技能總結(jié)調(diào)整顏色顯示對(duì)象步驟**調(diào)整Color屬性ColorTransform類定義在flash.geom包中(flash.geom.ColorTransform).其方法可以調(diào)整顯示對(duì)象的顏色.每個(gè)顯示對(duì)象都有transform,ColorTransform屬性.1.先構(gòu)造函數(shù)newColorTransform()varmyColor:ColorTransform=newColorTransform();2.調(diào)整color屬性設(shè)置顏色值myColor.color=0xffffff;3.將ColorTransform實(shí)例myColor重新分配給對(duì)象(transform.colorTransform)myObject.transform.colorTransform=myColor;注意:顏色不會(huì)應(yīng)用于MC的背景知識(shí)技能總結(jié)知識(shí)技能總結(jié)調(diào)整顏色顯示對(duì)象步驟**調(diào)整乘數(shù)屬性和偏移屬性(依鼠標(biāo)改變顏色.fla)顯示對(duì)象有多種顏色,不希望完全重新調(diào)整對(duì)象的顏色,而根據(jù)現(xiàn)有顏色來調(diào)整顯示對(duì)象的顏色。ColorTransform有一組乘數(shù)屬性和偏移屬性進(jìn)行此類調(diào)整。1.乘數(shù)屬性redMultiplier、greenMultiplier、blueMultiplier、alphaMultiplier可以將顏色調(diào)整或顏色轉(zhuǎn)換應(yīng)用于所有四種通道:紅色、綠色、藍(lán)色和Alpha透明度(在0-1范圍取值,默認(rèn)1正常)。增強(qiáng)或削弱顯示對(duì)象上的某些顏色。
2.偏移屬性redOffset、greenOffset、blueOffset、alphaOffset額外增加對(duì)象上某種顏色值。顏色屬性面板-高級(jí)知識(shí)技能總結(jié)顏色屬性面板-高級(jí)畫面顏色動(dòng)態(tài)改變bg_mc.addEventListener(MouseEvent.MOUSE_MOVE,rg);functionrg(e:MouseEvent){ varct:ColorTransform=newColorTransform();
//根據(jù)鼠標(biāo)位置設(shè)置紅色和綠色乘數(shù),鼠標(biāo)x軸位置控制紅色;y軸位置控制綠色 //鼠標(biāo)從圖像左側(cè)到右側(cè),紅色值的范圍從0%到100%(從無紅色到正常圖像紅色) //鼠標(biāo)從圖像上方到下方,綠色值的范圍從0%到100%(從無綠色到正常圖像綠色) ct.redMultiplier=this.mouseX/bg_mc.width; ct.greenMultiplier=this.mouseY/bg_mc.height; bg_mc.transform.colorTransform=ct;}畫面顏色動(dòng)態(tài)改變bg_mc.addEventListener編程實(shí)現(xiàn)1.產(chǎn)生漫天雪花效果(復(fù)制雪花.fla,雪花飄起來.fla)2.子彈沿螺旋線運(yùn)動(dòng)效果(沿螺旋線運(yùn)動(dòng)的子彈sin().fla)編程實(shí)現(xiàn)漫天雪花的編程思想制作雪花影片剪輯元件,在庫中設(shè)置屬性類名:snow產(chǎn)生一個(gè)顯示對(duì)象容器,以便將雪花實(shí)例放在該容器中利用構(gòu)造函數(shù)new產(chǎn)生250朵雪花實(shí)例,并修改他們的XY大小等屬性,充滿舞臺(tái).讓雪花飄使雪花飄起來,利用幀頻事件觸發(fā),定義偵聽器編寫事件觸發(fā)函數(shù),不斷改變雪花的Y屬性漫天雪花的編程思想制作雪花影片剪輯元件,在庫中設(shè)置屬性類名:for(vari:uint=1;i<250;i++){varxue_mc:snow=newsnow();//庫中雪花剪輯元件,屬性類名為snow;//xue_="xue"+String(i);xue_mc.x=640*Math.random();xue_mc.y=480*Math.random();xue_mc.scaleX=xue_mc.scaleY=Math.random();addChild(xue_mc);xue_mc.addEventListener(Event.ENTER_FRAME,moveY);}functionmoveY(e:Event){varspeed:uint=e.target.width*Math.random()/5;e.target.y+=speed;if(e.target.y>480){e.target.y=0;}}for(vari:uint=1;i<250;i++){作業(yè):定制T恤顏色編程實(shí)現(xiàn)以下功能據(jù)用戶對(duì)顏色的需求,決定T恤的顏色.要求可選顏色與書中的顏色至少有一半以上不同作業(yè):定制T恤顏色編程實(shí)現(xiàn)以下功能實(shí)現(xiàn)步驟建立11個(gè)不同的顏色按鈕,命名a_btn,b_btn…用屬性面板調(diào)整色調(diào)并記錄色調(diào)值.建立衣架和陰影的MC建立衣服影片剪輯cloth_mc,色調(diào)為紅.編程程序定義顏色數(shù)組,存放11個(gè)按鈕的顏色值varcolor_array=[0xff0000,0x00ff00,0x0000ff,…]為11個(gè)顏色按鈕注冊(cè)事件偵聽器,事件為“click”a_btn.a(chǎn)ddEventListener(“click”,clothColor);事件處理函數(shù)據(jù)用戶單擊的顏色,為衣服定制顏色建立ColorTransform的實(shí)例對(duì)象varmyColor:ColorTransform=newColorTransform();用分支語句判斷myColor.Color的顏色值將顏色值應(yīng)用在衣服上cloth_mc.Transform.ColorTransform=myColor;實(shí)現(xiàn)步驟制作震動(dòng)效果(發(fā)素材shake素材.fla)技術(shù)要點(diǎn):將震動(dòng)影子對(duì)象置于頂層,透明度屬性60%,位置不重疊使該對(duì)象與原對(duì)象位置隨機(jī)進(jìn)行微小動(dòng)態(tài)變化建立幀頻事件偵聽器使震動(dòng)影子對(duì)象的坐標(biāo)位置隨機(jī)微小變化制作震動(dòng)效果(發(fā)素材shake素材.fla)可調(diào)速的滑動(dòng)廣告牌利用鼠標(biāo)指針的X軸位置,決定廣告牌的滑動(dòng)方向(向左或向右)與滑動(dòng)速度案例制作要點(diǎn)(廣告素材.fla)可視元素廣告牌影片剪輯(六部影片畫面,組合成3組)廣告牌影片剪輯的移動(dòng)速度由當(dāng)前光標(biāo)的位置確定(250-this.mouseX)/10;以舞臺(tái)中心位置為中心廣告牌內(nèi)容的無縫對(duì)接技術(shù)左邊X<0右邊X>850可調(diào)速的滑動(dòng)廣告牌利用鼠標(biāo)指針的X軸位置,決定廣告牌的滑動(dòng)方4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺寸大小600*400,幀頻24fps.水果有西瓜、桔子、火龍果、草莓(可以創(chuàng)新)游戲開始后,用鼠標(biāo)移動(dòng)舞臺(tái)的小女孩(可以創(chuàng)新)接住從天而降的水果。水果的速度一輪比一輪快,4種水果的出現(xiàn)要隨機(jī)。接住西瓜6分,桔子2分,草莓1分,火龍果-3分。游戲界面顯示總分,時(shí)間100秒倒計(jì)時(shí),時(shí)間到顯示重玩一次,總分清零。有聲效加分(背景音樂、水果收獲音效)項(xiàng)目三《水果豐收》Flash游戲制作4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺網(wǎng)頁游戲《水果豐收》項(xiàng)目實(shí)施要求分組進(jìn)行,6人一組,自由組合。要求:男女搭配,特長搭配。各自為小組起名,并設(shè)計(jì)小組LOGO。選定項(xiàng)目組長(確保每位成員參與,明確分工);確定演講匯報(bào)員(制作PPT,匯報(bào)本組成果);確定記錄員,記錄小組會(huì)議討論情況。上交時(shí)間:4.12各小組上交作品,演示答辨,小組間評(píng)價(jià)。項(xiàng)目三水果豐收Flash游戲制作網(wǎng)頁游戲《水果豐收》項(xiàng)目實(shí)施要求項(xiàng)目三水果豐收Flash游游戲?qū)崿F(xiàn)思路制作計(jì)分器影片剪輯注冊(cè)幀頻事件偵聽器,事件函數(shù)為文本框設(shè)置分?jǐn)?shù)值parent.score制作計(jì)時(shí)器影片剪輯初值hastime=100秒,開始時(shí)間值startime注冊(cè)幀頻事件偵聽器,事件函數(shù)處理倒計(jì)時(shí)hastime-Math.round(nowtime-startime)/1000)倒計(jì)時(shí)為0,移除該偵聽器游戲轉(zhuǎn)到結(jié)束場(chǎng)景;游戲?qū)崿F(xiàn)思路制作計(jì)分器影片剪輯游戲?qū)崿F(xiàn)思路制作影片剪輯水果對(duì)象類4種水果各一幀設(shè)置水果的初始位置在舞臺(tái)上邊緣之外this.x=Math.random()*500+50;(50-550間)this.y=-40;下落速度speed=5+Math.random()*30;(5-35間)水果顯示的各類和對(duì)應(yīng)的分?jǐn)?shù)西瓜、桔子、草莓、火龍果出現(xiàn)的可能性10%,20%,30%,40%.0.01.0西瓜桔子草莓火龍果游戲?qū)崿F(xiàn)思路制作影片剪輯水果對(duì)象類0.01k=Math.random();if(k<0.1){ gotoAndStop(1); thisScore=root.S1;}elseif(k<0.3){ gotoAndStop(2); thisScore=root.S2;}elseif(k<0.6){ gotoAndStop(3); thisScore=root.S3;}else{ gotoAndStop(4); thisScore=root.S4;}注冊(cè)幀頻事件偵聽器;事件函數(shù):設(shè)置下落速度判斷水果超出邊界時(shí),移除偵聽器和水果對(duì)象;否則,判斷水果是否與小女孩手中的盤接觸,是,加分;移除偵聽和水果;k=Math.random();注冊(cè)幀頻事件偵聽器;游戲?qū)崿F(xiàn)思路規(guī)劃主場(chǎng)景第一幀內(nèi)容,游戲標(biāo)題,水果對(duì)應(yīng)分?jǐn)?shù),開始按鈕第二幀內(nèi)容,計(jì)時(shí)器、計(jì)分器、小女孩、分?jǐn)?shù)顯示,隱藏鼠標(biāo).startDrag(t/f,拖曳區(qū)域);拖曳區(qū)域?yàn)榫匦螌?duì)象,指定拖曳影片剪輯時(shí)的限制范圍第三幀內(nèi)容,不停地復(fù)制水果,形成大量水果下落效果第四幀內(nèi)容,最后統(tǒng)計(jì)最終得分,顯示再玩一次。游戲?qū)崿F(xiàn)思路規(guī)劃主場(chǎng)景碰撞檢測(cè)形狀與形狀碰撞hitTestObject();如果2個(gè)對(duì)象在任意一點(diǎn)上重疊或交叉,該方法返回true;否則返回false。注意:1.碰撞是以顯示對(duì)象的外接矩形框是否重疊作為評(píng)判的依據(jù)。2.剪輯對(duì)象運(yùn)行時(shí)有旋轉(zhuǎn)時(shí),采用的是大虛線框作為沖突檢測(cè)的矩形區(qū)域碰撞檢測(cè)形狀與形狀碰撞hitTestObject();碰撞檢測(cè)點(diǎn)與形狀碰撞顯示對(duì)象.hitTestPoint(X坐標(biāo),Y坐標(biāo),[判定區(qū)域])檢測(cè)某個(gè)點(diǎn)是否與對(duì)象碰撞.判定區(qū)域=布爾值。true以影片剪輯實(shí)際形狀,為評(píng)估區(qū)域;默認(rèn)值false以影片剪輯矩形形狀,范圍框,為評(píng)估區(qū)域;坐標(biāo)點(diǎn)判定區(qū)域=true判定區(qū)域=falseAfalsetrueBtruetrueCfalsefalse碰撞檢測(cè)點(diǎn)與形狀碰撞坐標(biāo)點(diǎn)判定區(qū)域=true判定區(qū)域=fal燭光點(diǎn)燃注冊(cè)3個(gè)偵聽函數(shù)MOUSE_DOWN、MOUSE_UP使火柴拖動(dòng)、停止ENTER_FRAME使蠟燭點(diǎn)燃,火柴熄滅燭光點(diǎn)燃注冊(cè)3個(gè)偵聽函數(shù)stage.addEventListener(MouseEvent.MOUSE_DOWN,hcdrag);functionhcdrag(e:MouseEvent){ if(hc_mc.hitTestPoint(mouseX,mouseY)){ hc_mc.startDrag(true); }
}stage.addEventListener(MouseEvent.MOUSE_UP,hcstop);functionhcstop(e:MouseEvent){ hc_mc.stopDrag(); }stage.addEventListener(Event.ENTER_FRAME,hit);functionhit(e:Event){ if(hc_mc.hitTestObject(hy_mc)){ hy_mc.gotoAndPlay(2); hc_mc.hg.alpha=0; }}stage.addEventListener(MouseEv設(shè)置對(duì)象拖動(dòng)的有效范圍案例:主角拖動(dòng)與左右走向varrect:Rectangle=newRectangle(50,380,420,0);//拖動(dòng)范圍mc.startDrag(true,rect);varTempX:Number;this.addEventListener(MouseEvent.MOUSE_MOVE,checkMove);functioncheckMove(e:MouseEvent){ if(e.stageX<TempX){ mc.scaleX=-1;//向左走 }else{ mc.scaleX=1;//向右走 } TempX=e.stageX;//e.stageX=e.target.x }設(shè)置對(duì)象拖動(dòng)的有效范圍案例:主角拖動(dòng)與左右走向矩形與形狀碰撞矩形的4個(gè)頂點(diǎn)與形狀的檢測(cè),即點(diǎn)與形狀的檢測(cè),是迷宮游戲的基礎(chǔ)。矩形與形狀碰撞矩形的4個(gè)頂點(diǎn)與形狀的檢測(cè),即點(diǎn)與形狀的檢測(cè),AS3聲音體系結(jié)構(gòu)使用flash.media包中的以下類Sound類處理聲音加載、管理基本聲音屬性及啟動(dòng)聲音播放.SoundChannel類控制聲音左右聲道音量SoundChannelContext加載聲音時(shí)使用的緩沖秒數(shù),該對(duì)象作哦Sound.load()方法的參數(shù).SoundMixer多個(gè)聲道混合SoundTranform包含控制音量和聲相的值等聲音的編程處理AS3聲音體系結(jié)構(gòu)使用flash.media包中的以下類聲將聲音導(dǎo)入到庫中進(jìn)行加載庫中選擇聲音鏈接,選鏈接第1項(xiàng)為AS導(dǎo)出生成聲音的類名稱。編程vars:Sound=newblue();//blue為聲音類名稱s.play();聲音的編程處理將聲音導(dǎo)入到庫中進(jìn)行加載聲音的編程處理聲音文件的外部加載程序與聲音文件保存在同一目錄下編程varurl:URLRequest=newURLRequest("url.mp3");
vars:Sound=newSound(url);s.play();為點(diǎn)燃蠟燭配音聲音的編程處理聲音文件的外部加載聲音的編程處理項(xiàng)目3《水果豐收》總結(jié)什么樣的游戲才是好游戲?可玩性:游戲的完整性、流暢程度、程序的健壯性(處理程序各種異常,避免運(yùn)行錯(cuò)誤)。趣味性:激起玩家的某種良性情感,包括成就感、榮譽(yù)感、獲得財(cái)富、力量和社會(huì)交流。感染力:場(chǎng)面宏偉、音效出眾等。人性化操作:人機(jī)互動(dòng)提出的要求。如街機(jī)街頭霸王,操作簡(jiǎn)化不失趣味;反恐精英CS,ASDF空格鼠標(biāo)的完美結(jié)合。星際爭(zhēng)霸左右開弓。游戲操作越簡(jiǎn)單越好。項(xiàng)目3《水果豐收》總結(jié)什么樣的游戲才是好游戲?項(xiàng)目3《水果豐收》總結(jié)游戲制作的一般過程創(chuàng)意收集、情節(jié)設(shè)計(jì)、設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)、美工與音效設(shè)計(jì)、程序設(shè)計(jì)、測(cè)試與發(fā)布等階段。設(shè)計(jì)文檔(《尊》設(shè)計(jì)文檔)流程圖設(shè)計(jì)貫穿于游戲總體設(shè)計(jì)到程序編碼的整個(gè)過程。它給出了游戲的總體框架、程序走向和關(guān)鍵算法,是游戲代碼的靈魂。項(xiàng)目3《水果豐收》總結(jié)游戲制作的一般過程項(xiàng)目3《水果豐收》總結(jié)建立游戲資源庫角色資源庫:游戲角色可能用到的視圖、動(dòng)作、表情、特技以元件形式放在庫中通用框架資源庫:建立游戲的基礎(chǔ)程序架構(gòu),相當(dāng)于游戲引擎。據(jù)游戲的類型不同,可以設(shè)計(jì)回合制游戲、過關(guān)類游戲、角色扮演、網(wǎng)絡(luò)互動(dòng)等多個(gè)通用框架。音效資源庫代碼資源庫:下載進(jìn)度條、計(jì)數(shù)器、計(jì)時(shí)器。包含界面和程序,以影片剪輯形式存于共享庫中。特定項(xiàng)目資源庫項(xiàng)目3《水果豐收》總結(jié)建立游戲資源庫項(xiàng)目3《水果豐收》總結(jié)作品性能優(yōu)化正常情況下,F(xiàn)lash作品是按幀間隔時(shí)間順利地播放動(dòng)畫以及執(zhí)行程序。但前提是,每一幀內(nèi)的所有操作包括位圖、矢量圖繪制、代碼執(zhí)行等,能夠在少于幀間隔時(shí)間內(nèi)完成。如果不能完成,就會(huì)產(chǎn)生延遲,游戲畫面就卡住了。Flash最多允許一幀的延遲時(shí)間為15S。盡量避免出現(xiàn),一幀的操作時(shí)間超過幀間隔時(shí)間項(xiàng)目3《水果豐收》總結(jié)作品性能優(yōu)化項(xiàng)目3《水果豐收》總結(jié)作品性能優(yōu)化復(fù)雜的矢量圖形,盡量降低矢量圖的曲線數(shù)。通過修改|形狀|優(yōu)化實(shí)現(xiàn)。具有大量復(fù)雜漸變效果的圖形。漸變動(dòng)畫是消耗CPU的大戶。如一座彩虹漸變動(dòng)畫,改用位圖過度使用Alpha透明度的圖形。透明度需要渲染,和重新計(jì)算疊加部分,需要大量CPU資源。過多的單獨(dú)的動(dòng)畫或者運(yùn)動(dòng)區(qū)域。位圖替代,降低品質(zhì)效率低下的代碼。優(yōu)化代碼,實(shí)時(shí)性要求高的游戲,幀頻提高30-50fps.其他因素項(xiàng)目3《水果豐收》總結(jié)作品性能優(yōu)化呈現(xiàn)生日禮物3份,選擇點(diǎn)燃生日燭光播放生日祝福-音樂播放器項(xiàng)目三生日互動(dòng)賀卡呈現(xiàn)生日禮物3份,選擇項(xiàng)目三生日互動(dòng)賀卡第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)項(xiàng)目三交互生日賀卡第2單元?jiǎng)赢嬔莩鰞?nèi)容的編程設(shè)計(jì)項(xiàng)目三交互生日賀卡65加入\移除演員在單擊鼠標(biāo)位置動(dòng)態(tài)加入演員發(fā)老虎演員素材.fla在單擊實(shí)例時(shí),移除發(fā)斑馬素材.fla加入\移除演員在單擊鼠標(biāo)位置動(dòng)態(tài)加入演員§2-1動(dòng)畫演員的增減改造項(xiàng)目1:使演員數(shù)量進(jìn)行動(dòng)態(tài)變換實(shí)現(xiàn)交互,鼠標(biāo)單擊加入老虎動(dòng)物角色,增加10個(gè)時(shí),出現(xiàn)瞄準(zhǔn)器.移動(dòng)瞄準(zhǔn)器,單擊后可刪除已加入的老虎角色.§2-1動(dòng)畫演員的增減改造項(xiàng)目1:使演員數(shù)量進(jìn)行動(dòng)態(tài)變換準(zhǔn)備素材背景底圖、老虎影片剪輯、瞄準(zhǔn)器影片剪輯實(shí)現(xiàn)思路鼠標(biāo)單擊出現(xiàn)老虎角色的技術(shù)支持將老虎元件屬性定義為類,單擊時(shí)不斷創(chuàng)建該類的實(shí)例定義事件(click)偵聽器,編寫監(jiān)聽函數(shù)copyMc()加入演員。并計(jì)數(shù)當(dāng)老虎數(shù)量達(dá)到10個(gè)時(shí),不在增加老虎.用瞄準(zhǔn)器刪除老虎的技術(shù)當(dāng)計(jì)數(shù)到10個(gè)時(shí),出現(xiàn)瞄準(zhǔn)器,單擊可以刪除老虎演員sh_mc.startDrag(true);刪除click偵聽器;重新注冊(cè)偵聽器,定義刪除函數(shù)當(dāng)只剩最后一個(gè)老虎時(shí),不再刪除準(zhǔn)備素材程序代碼varm=1;stage.addEventListener(MouseEvent.CLICK,copyMc);functioncopyMc(me:MouseEvent){ vartCopyMc:tiger=newtiger(); tCopyMc.x=mouseX; tCopyMc.y=mouseY; this.addChild(tCopyMc); m=m+1; if(m>=11){ sh_mc.startDrag(true); stage.removeEventListener(MouseEvent.CLICK,copyMc); stage.addEventListener("click",delMc); functiondelMc(me:MouseEvent){ removeChild(DisplayObject(me.target)); m=m-1; if(m==1){ stage.removeEventListener("click",delMc);} }//增加了DisplayObject()函數(shù),將隱匿的對(duì)象轉(zhuǎn)換為顯示對(duì)象
}}程序代碼varm=1;事件的目標(biāo)對(duì)象targetEvent類的target和currentTarget屬性target屬性存儲(chǔ)對(duì)事件目標(biāo)的引用currentTarget屬性存儲(chǔ)對(duì)當(dāng)前正在處理事件對(duì)象的顯示列表對(duì)象的引用varcircleMC:MovieClip=MovieClip(e.target)還可以寫成varcircleMC:MovieClip=e.targetasMovieClip即聲明一個(gè)名稱為circleMC的MovieClip對(duì)象,讓它等于一個(gè)也是MovieClip類型的對(duì)象MovieClip(e.target)相當(dāng)于把e.target轉(zhuǎn)化為MovieClip對(duì)象
事件的目標(biāo)對(duì)象targetEvent類的target和庫中定義影片剪輯類8?jìng)€(gè)隨機(jī)彩色氣泡鼠標(biāo)跟隨技術(shù)實(shí)現(xiàn)要點(diǎn):建立氣泡影片剪輯圓注冊(cè)點(diǎn)不在中心位置,加濾鏡陰影效果.制作位置移動(dòng)動(dòng)畫2.庫中定義影片剪輯類ball3.注冊(cè)幀頻偵聽事件4.事件函數(shù)功能產(chǎn)生類ball的實(shí)例,改變其旋轉(zhuǎn)度,顏色,使產(chǎn)生的ball實(shí)例變?yōu)榭赏蟿?dòng).5.產(chǎn)生一定數(shù)量后,刪除偵聽器庫中定義影片剪輯類8?jìng)€(gè)隨機(jī)彩色氣泡鼠標(biāo)跟隨技術(shù)實(shí)現(xiàn)要點(diǎn):隨機(jī)彩色氣泡鼠標(biāo)跟隨流程圖初始化計(jì)數(shù)器i;申請(qǐng)顏色變量myColor;定義事件函數(shù)copyball();注冊(cè)幀頻事件偵聽器;i<8產(chǎn)生新的氣泡;定義氣泡的旋轉(zhuǎn)度;定義氣泡的顏色;將氣泡添加到主時(shí)間軸中;使氣泡可拖動(dòng);i增加1;i=0;移除幀頻事件偵聽器;是否隨機(jī)彩色氣泡鼠標(biāo)跟隨初始化計(jì)數(shù)器i;定義事件函數(shù)copyba隨機(jī)彩色氣泡鼠標(biāo)跟程序代碼隨機(jī)彩色氣泡鼠標(biāo)跟程序代碼創(chuàng)建顯示列表舞臺(tái)是Stage類的實(shí)例,其屬性是通過變量stage屬性來引用.Stage類屬于容器類,可以在舞臺(tái)中添加其他顯示實(shí)例.在默認(rèn)情況下,主時(shí)間軸是顯示實(shí)例,已添加在舞臺(tái)中.任何一個(gè)顯示實(shí)例肯定在一定的顯示容器中,在實(shí)例化顯示類時(shí),要使用addChild()方法將顯示實(shí)例添加到顯示列表中.添加和移除顯示實(shí)例的方法addChild()將顯示實(shí)例添加到顯示列表中addChildAt()通過索引將顯示實(shí)例添加到顯示列表中removeChild()從顯示列表中移除顯示實(shí)例removeChildAt()通過索引從顯示列表中移除顯示實(shí)例要檢測(cè)顯示容器中,有幾個(gè)顯示實(shí)例,可以用numChildren屬性容器名稱.numChildren給顯示對(duì)象命名顯示對(duì)象變量.Name=“XXXX”創(chuàng)建顯示列表舞臺(tái)是Stage類的實(shí)例,其屬性是通過變量sta顯示列表示例varsp1:Sprite=newSprite();varsp2:Sprite=newSprite();=“sp2”;varsp3:Sprite=newSprite();varsp4:Sprite=newSprite();S=“sp2_sp4”;//name屬性定義實(shí)例名stage.addChild(sp1);this.addChild(sp2);sp2.addChild(sp3);sp2.addChild(sp4);rootstagesp1sp2sp3sp4trace(stage.numChildren);//檢測(cè)某個(gè)容器有幾個(gè)顯示實(shí)例trace(this.numChildren);trace(sp2.numChildren);注意:程序創(chuàng)建的顯示對(duì)象,不能通過簡(jiǎn)單的點(diǎn)語法來訪問;顯示列表的實(shí)例是手工創(chuàng)建的影片剪輯實(shí)例時(shí),可用點(diǎn)語法向下訪問顯示列表示例varsp1:Sprite=newSpritMovieClip、Sprite、Shape的區(qū)別MovieClip:擁有一個(gè)時(shí)間軸,動(dòng)態(tài)類。三者都包括graphics屬性Sprite:不需要時(shí)間軸的對(duì)象的相應(yīng)基類,是去掉了時(shí)間軸的MovieClip,不是動(dòng)態(tài)類。對(duì)象是顯示對(duì)象容器,Sprite對(duì)象支持鼠標(biāo)單擊事件。Shape:創(chuàng)建簡(jiǎn)單形狀。Shape對(duì)象比包含相同圖形的Sprite對(duì)象消耗的內(nèi)存少,不支持鼠標(biāo)單擊事件(startDrag()),不是容器不能包含子顯示對(duì)象。MovieClip、Sprite、Shape的區(qū)別Movie上一級(jí)引用從下向上訪問:parent屬性trace();trace(sp4.parent.P);rootstagesp1sp2sp3sp4下一級(jí)引用getChildAt();據(jù)索引來訪問getChildByName(name:String);據(jù)實(shí)例名來訪問01上一級(jí)引用從下向上訪問:parent屬性rootstages舞臺(tái)內(nèi)反復(fù)運(yùn)動(dòng)的足球足球素材.fla(P36)通過幀頻事件,以一定的增量不斷改變影片剪輯的X、Y坐標(biāo).If語句判斷上下左右邊界的處理Y<0Y>300X<0X>500舞臺(tái)內(nèi)反復(fù)運(yùn)動(dòng)的足球足球素材.fla(P36)with語句多次參考元件的各個(gè)屬性或方法,不需一再指定元件的名稱。從而潛在地減少需要編寫的代碼量with(實(shí)例名稱){程序語句}2.with(mymc){ x=100; y=100; scaleX=2; scaleY=2; alpha=0.9; rotation=45;}示例:福到了1.繪制影片剪輯,30*30正方形,在其上部輸入福字并旋轉(zhuǎn)135度,名為m_mc,放于場(chǎng)景在上角.with語句多次參考元件的各個(gè)屬性或方法,不需一再指定元件的演員由遠(yuǎn)而近走來的效果(move源文件.fla)角色在場(chǎng)景中進(jìn)行移動(dòng),同時(shí)有近大遠(yuǎn)小的效果.用with進(jìn)行源文件的修改(move.fla)§2-2演員的動(dòng)作表演演員由遠(yuǎn)而近走來的效果(move源文件.fla)§2-2演員改造項(xiàng)目2演員按指定位置行走(xymove.fla)角色在場(chǎng)景中,能按照鼠標(biāo)點(diǎn)擊的位置進(jìn)行移動(dòng),同時(shí)有近大遠(yuǎn)小的效果.參P42人物朝指定位置行走(女孩走路素材.fla)§2-2演員的動(dòng)作表演改造項(xiàng)目2演員按指定位置行走(xymove.fla)§2-2準(zhǔn)備素材背景底圖、女孩走路影片剪輯gril_mc實(shí)現(xiàn)思路設(shè)定gril_mc的初始位置,定義目標(biāo)位置,走路動(dòng)作停止.設(shè)置偵聽器函數(shù),編寫監(jiān)聽函數(shù)setXY,使女孩走路的目標(biāo)位置由單擊鼠標(biāo)決定.設(shè)置enterFrame事件偵聽器,編寫女孩走到目標(biāo)位置的實(shí)現(xiàn)方法.主要包括XY的變化,大小的變化.準(zhǔn)備素材程序代碼varmoveL=this.height-girl_mc.height;//this.height是場(chǎng)景中對(duì)象重疊時(shí),最高的數(shù)據(jù);girl_mc.x=250;girl_mc.y=18;varmyX=girl_mc.x;varmyY=girl_mc.y;girl_mc.stop();stage.addEventListener("click",setXY);functionsetXY(me:MouseEvent){ myX=this.mouseX; myY=this.mouseY; girl_mc.play();}
stage.addEventListener("enterFrame",moveGirl);functionmoveGirl(me:Event){with(girl_mc){if(y<moveL){ if(x<myX){x=x+2;} elseif(x>myX){x=x-2; } if(y<myY){ y=y+2; height+=(height/120); width+=(width/120);} elseif(y>myY){ y=y-2; height-=(height/120); width-=(width/120);} } else{ stop();}if(y==myY&&x==myX){ stop(); }}}程序代碼varmoveL=this.height-girl作業(yè)完成仿真3D角色移動(dòng),參見書P44作業(yè)完成知識(shí)技能總結(jié)計(jì)數(shù)器變量的定義var變量名:數(shù)據(jù)類型數(shù)據(jù)類型簡(jiǎn)單類型5個(gè):int(32有符號(hào)整數(shù)).vara:int=3.45;varname:String=“fox”uint(32位無符號(hào)整數(shù),非負(fù)整數(shù))表示顏色值、鍵控代碼值等varcolor:uint=0xff9900;trace(color);輸出表示十進(jìn)制整數(shù)的顏色值constKEY_A:uint=65;鍵A的代碼值Number浮點(diǎn)運(yùn)算對(duì)于浮點(diǎn)運(yùn)算不能用==判斷2個(gè)數(shù)是否相等,浮點(diǎn)計(jì)算有誤差trace(0.15+0.15==0.3)truetrace(0.1+0.2==0.3)false.知識(shí)技能總結(jié)知識(shí)技能總結(jié)數(shù)據(jù)類型簡(jiǎn)單類型:Boolean布爾值.非此即彼的數(shù)據(jù),取值ture,false;varisRight:
Boolean=true;String類型,由單引號(hào)或雙引號(hào)括起來的字符串字符串的長度與索引:varname:String=“foxhhyy”;trace(name.length);7索引從0開始trace(name.charAt(2));x—返回指定位置索引的字符知識(shí)技能總結(jié)知識(shí)技能總結(jié)數(shù)據(jù)類型復(fù)雜數(shù)據(jù)類型:包與類flash包是FlashCS和Flex共用的包,是AS3基礎(chǔ)包fl包是FlashCS組件相關(guān)的包,F(xiàn)lashCS專有包。
引用數(shù)據(jù)類型函數(shù)類型類類型接口類型flash.utils包中的部分函數(shù)fl與flash部分包Object,MovieClip,SimpleButton,ErrorTextField,Date,ArrayFunction,XMLAS3的頂級(jí)類知識(shí)技能總結(jié)引用數(shù)據(jù)類型函數(shù)類型類類型接口類型flash.u知識(shí)技能總結(jié)使用Stage類stage是Stage類的實(shí)例,常用屬性:stage.frameRate;舞臺(tái)幀速度stage.stageWidth,stage.stageHeightstage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實(shí)現(xiàn)用單擊方式改變?nèi)粱蛲顺鋈两换コ绦蛑R(shí)技能總結(jié)知識(shí)技能總結(jié)stage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實(shí)現(xiàn)用單擊方式改變?nèi)粱蛲顺鋈两换コ绦騰arisFull:Boolean=false;stage.addEventListener("click",fullscreen);functionfullscreen(me:Event){ isFull=!isFull; if(isFull){ stage.displayState="fullScreen"; } else{ stage.displayState="normal"; }}知識(shí)技能總結(jié)varisFull:Boolean=fals知識(shí)技能總結(jié)使用MoiveClip類用程序(編程繪制填充圓形.fla)實(shí)現(xiàn)在舞臺(tái)上建立一個(gè)圓形r=15影片剪輯對(duì)象,填充為紅色,邊線粗細(xì)2,黑色。用MoiveClip類的graphics屬性繪制圓形.顯示對(duì)象用addChild()添加到顯示列表中varc_mc:MovieClip=newMovieClip();c_mc.graphics.lineStyle(2,0x000000);c_mc.graphics.beginFill(0xff0000);c_mc.graphics.drawCircle(250,175,15);addChild(c_mc);知識(shí)技能總結(jié)varc_mc:MovieClip=newM§2-2演員的動(dòng)作表演項(xiàng)目2:持續(xù)旋轉(zhuǎn)與變換顏色效果綿羊角色會(huì)隨著鼠標(biāo)位置來改變自身的旋轉(zhuǎn)角度大小,旋轉(zhuǎn)速度與方向.其背后光束效果,會(huì)隨機(jī)變換顏色rotation&chgcolor素材.fla§2-2演員的動(dòng)作表演項(xiàng)目2:持續(xù)旋轉(zhuǎn)與變換顏色效果準(zhǔn)備素材背景底圖綿羊影片剪輯Sheep_mc光束color_mcAS圖層實(shí)現(xiàn)思路設(shè)定Sheep_mc的最大轉(zhuǎn)速設(shè)置偵聽器函數(shù),enterFrame事件.編寫監(jiān)聽函數(shù)gotRot,使Sheep_mc的_rotation屬性會(huì)根據(jù)當(dāng)前鼠標(biāo)的位置進(jìn)行旋轉(zhuǎn).對(duì)象的旋轉(zhuǎn)屬性指定影片剪輯的旋轉(zhuǎn)角度.屬性值在0~180順時(shí)針方向-180~0逆時(shí)針方向.超出范圍時(shí),數(shù)值加上或減去360的倍數(shù)即可.如:mc.rotation=450等于mc.rotation=90實(shí)現(xiàn)光束顏色的隨機(jī)改變.準(zhǔn)備素材程序代碼varmaxSpeed:int=60;this.addEventListener("enterFrame",goRot);functiongoRot(me:Event){ vardifX=this.mouseX; vardifY=this.mouseY; varnum=difX+difY; num=Math.round(num/10); varspeed=maxSpeed-num; sheep_mc.rotation+=speed;//0-180順時(shí)針,-180-0逆時(shí)針;
//實(shí)現(xiàn)背景顏色1秒的變換 varcolor_array:Array=[0xff0000,0x00ff00,0xffff00,0x0000ff]; varmy_color:ColorTransform=newColorTransform(); vari:Number; i=Math.floor(Math.random()*color_array.length); my_color.color=color_array[i]; color_mc.transform.colorTransform=my_color; }程序代碼varmaxSpeed:int=60;知識(shí)技能總結(jié)頂級(jí)類數(shù)學(xué)MathMath類的屬性稱為類屬性,通過類名來訪問。常用屬性和方法:Math.PI,Math.sin(),Math.cos(),Math.random(),Math.floor(),Math.round()Math.sin()\cos()是以弧度為單位,要將角度轉(zhuǎn)為弧度:angle*Math.PI/180=angle*0.0174533;隨機(jī)方法Math.random().返回0<=Math.random()<1小數(shù).如果得到A~B之間的隨機(jī)數(shù),用下面代碼表示:A+(B-A)*Math.random();如:Math.random()*10+10;返回大于等于10,小于20的小數(shù)知識(shí)技能總結(jié)知識(shí)技能總結(jié)頂級(jí)類數(shù)學(xué)Math.random()*取整方法1.將小數(shù)賦值給int或uint類型的變量時(shí),小數(shù)部分被忽略vart:uint=Math.random()*11+10;//產(chǎn)生10到20間的整數(shù),包括10、20Vart:int=Math.random()*21-10;返回的數(shù)據(jù)范圍是多少?2.Math.floor(3.59/-3.59);返回小于等于最接近指定值的整數(shù)值.3/-43.Math.round(3.59/-3.5);返回最接近指定值的整數(shù)值(較大).4/-3知識(shí)技能總結(jié)知識(shí)技能總結(jié)取隨機(jī)整數(shù)時(shí),應(yīng)使用floor()方法而不是round()方法進(jìn)行隨機(jī)取整.例:for(vari:int=0;i<100;i++)trace(Math.round(Math.random()*21));//返回包括21在內(nèi)的整數(shù);當(dāng)random()返回的小數(shù)大于20并小于20.5時(shí),round()取整為20;大于20.5取整為21;所以0的概率少了一半;trace(Math.floor(Math.random()*21));//返回不包括21在內(nèi)的整數(shù)且隨機(jī)數(shù)準(zhǔn)確.參見書P60實(shí)例知識(shí)技能總結(jié)知識(shí)技能總結(jié)頂級(jí)類數(shù)組Array:將一系列數(shù)據(jù)有序地組織起來,進(jìn)行批量的處理和操作。varemployee:Array=[“Adobe”,”Facebook”,”Apple”]或一系列顏色值varemployee:Array=newArray();employee[0]=“Adobe”;employee[1]=“Facebook”;employee.length數(shù)組長度;數(shù)組下標(biāo)從0知識(shí)技能總結(jié)知識(shí)技能總結(jié)調(diào)整顏色顯示對(duì)象步驟**調(diào)整Color屬性ColorTransform類定義在flash.geom包中(flash.geom.ColorTransform).其方法可以調(diào)整顯示對(duì)象的顏色.每個(gè)顯示對(duì)象都有transform,ColorTransform屬性.1.先構(gòu)造函數(shù)newColorTransform()varmyColor:ColorTransform=newColorTransform();2.調(diào)整color屬性設(shè)置顏色值myColor.color=0xffffff;3.將ColorTransform實(shí)例myColor重新分配給對(duì)象(transform.colorTransform)myObject.transform.colorTransform=myColor;注意:顏色不會(huì)應(yīng)用于MC的背景知識(shí)技能總結(jié)知識(shí)技能總結(jié)調(diào)整顏色顯示對(duì)象步驟**調(diào)整乘數(shù)屬性和偏移屬性(依鼠標(biāo)改變顏色.fla)顯示對(duì)象有多種顏色,不希望完全重新調(diào)整對(duì)象的顏色,而根據(jù)現(xiàn)有顏色來調(diào)整顯示對(duì)象的顏色。ColorTransform有一組乘數(shù)屬性和偏移屬性進(jìn)行此類調(diào)整。1.乘數(shù)屬性redMultiplier、greenMultiplier、blueMultiplier、alphaMultiplier可以將顏色調(diào)整或顏色轉(zhuǎn)換應(yīng)用于所有四種通道:紅色、綠色、藍(lán)色和Alpha透明度(在0-1范圍取值,默認(rèn)1正常)。增強(qiáng)或削弱顯示對(duì)象上的某些顏色。
2.偏移屬性redOffset、greenOffset、blueOffset、alphaOffset額外增加對(duì)象上某種顏色值。顏色屬性面板-高級(jí)知識(shí)技能總結(jié)顏色屬性面板-高級(jí)畫面顏色動(dòng)態(tài)改變bg_mc.addEventListener(MouseEvent.MOUSE_MOVE,rg);functionrg(e:MouseEvent){ varct:ColorTransform=newColorTransform();
//根據(jù)鼠標(biāo)位置設(shè)置紅色和綠色乘數(shù),鼠標(biāo)x軸位置控制紅色;y軸位置控制綠色 //鼠標(biāo)從圖像左側(cè)到右側(cè),紅色值的范圍從0%到100%(從無紅色到正常圖像紅色) //鼠標(biāo)從圖像上方到下方,綠色值的范圍從0%到100%(從無綠色到正常圖像綠色) ct.redMultiplier=this.mouseX/bg_mc.width; ct.greenMultiplier=this.mouseY/bg_mc.height; bg_mc.transform.colorTransform=ct;}畫面顏色動(dòng)態(tài)改變bg_mc.addEventListener編程實(shí)現(xiàn)1.產(chǎn)生漫天雪花效果(復(fù)制雪花.fla,雪花飄起來.fla)2.子彈沿螺旋線運(yùn)動(dòng)效果(沿螺旋線運(yùn)動(dòng)的子彈sin().fla)編程實(shí)現(xiàn)漫天雪花的編程思想制作雪花影片剪輯元件,在庫中設(shè)置屬性類名:snow產(chǎn)生一個(gè)顯示對(duì)象容器,以便將雪花實(shí)例放在該容器中利用構(gòu)造函數(shù)new產(chǎn)生250朵雪花實(shí)例,并修改他們的XY大小等屬性,充滿舞臺(tái).讓雪花飄使雪花飄起來,利用幀頻事件觸發(fā),定義偵聽器編寫事件觸發(fā)函數(shù),不斷改變雪花的Y屬性漫天雪花的編程思想制作雪花影片剪輯元件,在庫中設(shè)置屬性類名:for(vari:uint=1;i<250;i++){varxue_mc:snow=newsnow();//庫中雪花剪輯元件,屬性類名為snow;//xue_="xue"+String(i);xue_mc.x=640*Math.random();xue_mc.y=480*Math.random();xue_mc.scaleX=xue_mc.scaleY=Math.random();addChild(xue_mc);xue_mc.addEventListener(Event.ENTER_FRAME,moveY);}functionmoveY(e:Event){varspeed:uint=e.target.width*Math.random()/5;e.target.y+=speed;if(e.target.y>480){e.target.y=0;}}for(vari:uint=1;i<250;i++){作業(yè):定制T恤顏色編程實(shí)現(xiàn)以下功能據(jù)用戶對(duì)顏色的需求,決定T恤的顏色.要求可選顏色與書中的顏色至少有一半以上不同作業(yè):定制T恤顏色編程實(shí)現(xiàn)以下功能實(shí)現(xiàn)步驟建立11個(gè)不同的顏色按鈕,命名a_btn,b_btn…用屬性面板調(diào)整色調(diào)并記錄色調(diào)值.建立衣架和陰影的MC建立衣服影片剪輯cloth_mc,色調(diào)為紅.編程程序定義顏色數(shù)組,存放11個(gè)按鈕的顏色值varcolor_array=[0xff0000,0x00ff00,0x0000ff,…]為11個(gè)顏色按鈕注冊(cè)事件偵聽器,事件為“click”a_btn.a(chǎn)ddEventListener(“click”,clothColor);事件處理函數(shù)據(jù)用戶單擊的顏色,為衣服定制顏色建立ColorTransform的實(shí)例對(duì)象varmyColor:ColorTransform=newColorTransform();用分支語句判斷myColor.Color的顏色值將顏色值應(yīng)用在衣服上cloth_mc.Transform.ColorTransform=myColor;實(shí)現(xiàn)步驟制作震動(dòng)效果(發(fā)素材shake素材.fla)技術(shù)要點(diǎn):將震動(dòng)影子對(duì)象置于頂層,透明度屬性60%,位置不重疊使該對(duì)象與原對(duì)象位置隨機(jī)進(jìn)行微小動(dòng)態(tài)變化建立幀頻事件偵聽器使震動(dòng)影子對(duì)象的坐標(biāo)位置隨機(jī)微小變化制作震動(dòng)效果(發(fā)素材shake素材.fla)可調(diào)速的滑動(dòng)廣告牌利用鼠標(biāo)指針的X軸位置,決定廣告牌的滑動(dòng)方向(向左或向右)與滑動(dòng)速度案例制作要點(diǎn)(廣告素材.fla)可視元素廣告牌影片剪輯(六部影片畫面,組合成3組)廣告牌影片剪輯的移動(dòng)速度由當(dāng)前光標(biāo)的位置確定(250-this.mouseX)/10;以舞臺(tái)中心位置為中心廣告牌內(nèi)容的無縫對(duì)接技術(shù)左邊X<0右邊X>850可調(diào)速的滑動(dòng)廣告牌利用鼠標(biāo)指針的X軸位置,決定廣告牌的滑動(dòng)方4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺寸大小600*400,幀頻24fps.水果有西瓜、桔子、火龍果、草莓(可以創(chuàng)新)游戲開始后,用鼠標(biāo)移動(dòng)舞臺(tái)的小女孩(可以創(chuàng)新)接住從天而降的水果。水果的速度一輪比一輪快,4種水果的出現(xiàn)要隨機(jī)。接住西瓜6分,桔子2分,草莓1分,火龍果-3分。游戲界面顯示總分,時(shí)間100秒倒計(jì)時(shí),時(shí)間到顯示重玩一次,總分清零。有聲效加分(背景音樂、水果收獲音效)項(xiàng)目三《水果豐收》Flash游戲制作4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺網(wǎng)頁游戲《水果豐收》項(xiàng)目實(shí)施要求分組進(jìn)行,6人一組,自由組合。要求:男女搭配,特長搭配。各自為小組起名,并設(shè)計(jì)小組LOGO。選定項(xiàng)目組長(確保每位成員參與,明確分工);確定演講匯報(bào)員(制作PPT,匯報(bào)本組成果);確定記錄員,記錄小組會(huì)議討論情況。上交時(shí)間:4.12各小組上交作品,演示答辨,小組間評(píng)價(jià)。項(xiàng)目三水果豐收Flash游戲制作網(wǎng)頁游戲《水果豐收》項(xiàng)目實(shí)施要求項(xiàng)目三水果豐收Flash游游戲?qū)崿F(xiàn)思路制作計(jì)分器影片剪輯注冊(cè)幀頻事件偵聽器,事件函數(shù)為文本框設(shè)置分?jǐn)?shù)值parent.score制作計(jì)時(shí)器影片剪輯初值hastime=100秒,開始時(shí)間值start
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國低軌互聯(lián)網(wǎng)星座行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國碳封存解決方案行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球高速木屑制粒機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球家用吊扇燈行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國非動(dòng)力重力滾筒輸送機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國超聲波封訂機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球PTC熱敏電阻燒結(jié)爐行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球纖維蛋白密封劑行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球全向堆高AGV行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球天花板安裝防護(hù)罩行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 醫(yī)院消防安全培訓(xùn)課件
- 質(zhì)保管理制度
- 《00541語言學(xué)概論》自考復(fù)習(xí)題庫(含答案)
- 2025年機(jī)關(guān)工會(huì)個(gè)人工作計(jì)劃
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測(cè)試+英語+ 含答案
- 2024護(hù)理不良事件分析
- 光伏項(xiàng)目的投資估算設(shè)計(jì)概算以及財(cái)務(wù)評(píng)價(jià)介紹
- 人事測(cè)評(píng)理論與方法-課件
- 最新卷宗的整理、裝訂(全)課件
- 城市旅行珠海景色介紹珠海旅游攻略PPT圖文課件
- 小學(xué) 三年級(jí) 科學(xué)《觀測(cè)風(fēng)》教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論