第2單元動畫演出內(nèi)容的編程設(shè)計課件_第1頁
第2單元動畫演出內(nèi)容的編程設(shè)計課件_第2頁
第2單元動畫演出內(nèi)容的編程設(shè)計課件_第3頁
第2單元動畫演出內(nèi)容的編程設(shè)計課件_第4頁
第2單元動畫演出內(nèi)容的編程設(shè)計課件_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第2單元動畫演出內(nèi)容的編程設(shè)計項目三交互生日賀卡第2單元動畫演出內(nèi)容的編程設(shè)計項目三交互生日賀卡1加入\移除演員在單擊鼠標位置動態(tài)加入演員發(fā)老虎演員素材.fla在單擊實例時,移除發(fā)斑馬素材.fla加入\移除演員在單擊鼠標位置動態(tài)加入演員§2-1動畫演員的增減改造項目1:使演員數(shù)量進行動態(tài)變換實現(xiàn)交互,鼠標單擊加入老虎動物角色,增加10個時,出現(xiàn)瞄準器.移動瞄準器,單擊后可刪除已加入的老虎角色.§2-1動畫演員的增減改造項目1:使演員數(shù)量進行動態(tài)變換準備素材背景底圖、老虎影片剪輯、瞄準器影片剪輯實現(xiàn)思路鼠標單擊出現(xiàn)老虎角色的技術(shù)支持將老虎元件屬性定義為類,單擊時不斷創(chuàng)建該類的實例定義事件(click)偵聽器,編寫監(jiān)聽函數(shù)copyMc()加入演員。并計數(shù)當老虎數(shù)量達到10個時,不在增加老虎.用瞄準器刪除老虎的技術(shù)當計數(shù)到10個時,出現(xiàn)瞄準器,單擊可以刪除老虎演員sh_mc.startDrag(true);刪除click偵聽器;重新注冊偵聽器,定義刪除函數(shù)當只剩最后一個老虎時,不再刪除準備素材程序代碼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ù),將隱匿的對象轉(zhuǎn)換為顯示對象

}}程序代碼varm=1;事件的目標對象targetEvent類的target和currentTarget屬性target屬性存儲對事件目標的引用currentTarget屬性存儲對當前正在處理事件對象的顯示列表對象的引用varcircleMC:MovieClip=MovieClip(e.target)還可以寫成varcircleMC:MovieClip=e.targetasMovieClip即聲明一個名稱為circleMC的MovieClip對象,讓它等于一個也是MovieClip類型的對象MovieClip(e.target)相當于把e.target轉(zhuǎn)化為MovieClip對象

事件的目標對象targetEvent類的target和庫中定義影片剪輯類8個隨機彩色氣泡鼠標跟隨技術(shù)實現(xiàn)要點:建立氣泡影片剪輯圓注冊點不在中心位置,加濾鏡陰影效果.制作位置移動動畫2.庫中定義影片剪輯類ball3.注冊幀頻偵聽事件4.事件函數(shù)功能產(chǎn)生類ball的實例,改變其旋轉(zhuǎn)度,顏色,使產(chǎn)生的ball實例變?yōu)榭赏蟿樱?產(chǎn)生一定數(shù)量后,刪除偵聽器庫中定義影片剪輯類8個隨機彩色氣泡鼠標跟隨技術(shù)實現(xiàn)要點:隨機彩色氣泡鼠標跟隨流程圖初始化計數(shù)器i;申請顏色變量myColor;定義事件函數(shù)copyball();注冊幀頻事件偵聽器;i<8產(chǎn)生新的氣泡;定義氣泡的旋轉(zhuǎn)度;定義氣泡的顏色;將氣泡添加到主時間軸中;使氣泡可拖動;i增加1;i=0;移除幀頻事件偵聽器;是否隨機彩色氣泡鼠標跟隨初始化計數(shù)器i;定義事件函數(shù)copyba隨機彩色氣泡鼠標跟程序代碼隨機彩色氣泡鼠標跟程序代碼創(chuàng)建顯示列表舞臺是Stage類的實例,其屬性是通過變量stage屬性來引用.Stage類屬于容器類,可以在舞臺中添加其他顯示實例.在默認情況下,主時間軸是顯示實例,已添加在舞臺中.任何一個顯示實例肯定在一定的顯示容器中,在實例化顯示類時,要使用addChild()方法將顯示實例添加到顯示列表中.添加和移除顯示實例的方法addChild()將顯示實例添加到顯示列表中addChildAt()通過索引將顯示實例添加到顯示列表中removeChild()從顯示列表中移除顯示實例removeChildAt()通過索引從顯示列表中移除顯示實例要檢測顯示容器中,有幾個顯示實例,可以用numChildren屬性容器名稱.numChildren給顯示對象命名顯示對象變量.Name=“XXXX”創(chuàng)建顯示列表舞臺是Stage類的實例,其屬性是通過變量sta顯示列表示例varsp1:Sprite=newSprite();varsp2:Sprite=newSprite();=“sp2”;varsp3:Sprite=newSprite();varsp4:Sprite=newSprite();S=“sp2_sp4”;//name屬性定義實例名stage.addChild(sp1);this.addChild(sp2);sp2.addChild(sp3);sp2.addChild(sp4);rootstagesp1sp2sp3sp4trace(stage.numChildren);//檢測某個容器有幾個顯示實例trace(this.numChildren);trace(sp2.numChildren);注意:程序創(chuàng)建的顯示對象,不能通過簡單的點語法來訪問;顯示列表的實例是手工創(chuàng)建的影片剪輯實例時,可用點語法向下訪問顯示列表示例varsp1:Sprite=newSpritMovieClip、Sprite、Shape的區(qū)別MovieClip:擁有一個時間軸,動態(tài)類。三者都包括graphics屬性Sprite:不需要時間軸的對象的相應基類,是去掉了時間軸的MovieClip,不是動態(tài)類。對象是顯示對象容器,Sprite對象支持鼠標單擊事件。Shape:創(chuàng)建簡單形狀。Shape對象比包含相同圖形的Sprite對象消耗的內(nèi)存少,不支持鼠標單擊事件(startDrag()),不是容器不能包含子顯示對象。MovieClip、Sprite、Shape的區(qū)別Movie上一級引用從下向上訪問:parent屬性trace();trace(sp4.parent.P);rootstagesp1sp2sp3sp4下一級引用getChildAt();據(jù)索引來訪問getChildByName(name:String);據(jù)實例名來訪問01上一級引用從下向上訪問:parent屬性rootstages舞臺內(nèi)反復運動的足球足球素材.fla(P36)通過幀頻事件,以一定的增量不斷改變影片剪輯的X、Y坐標.If語句判斷上下左右邊界的處理Y<0Y>300X<0X>500舞臺內(nèi)反復運動的足球足球素材.fla(P36)with語句多次參考元件的各個屬性或方法,不需一再指定元件的名稱。從而潛在地減少需要編寫的代碼量with(實例名稱){程序語句}2.with(mymc){ x=100; y=100; scaleX=2; scaleY=2; alpha=0.9; rotation=45;}示例:福到了1.繪制影片剪輯,30*30正方形,在其上部輸入福字并旋轉(zhuǎn)135度,名為m_mc,放于場景在上角.with語句多次參考元件的各個屬性或方法,不需一再指定元件的演員由遠而近走來的效果(move源文件.fla)角色在場景中進行移動,同時有近大遠小的效果.用with進行源文件的修改(move.fla)§2-2演員的動作表演演員由遠而近走來的效果(move源文件.fla)§2-2演員改造項目2演員按指定位置行走(xymove.fla)角色在場景中,能按照鼠標點擊的位置進行移動,同時有近大遠小的效果.參P42人物朝指定位置行走(女孩走路素材.fla)§2-2演員的動作表演改造項目2演員按指定位置行走(xymove.fla)§2-2準備素材背景底圖、女孩走路影片剪輯gril_mc實現(xiàn)思路設(shè)定gril_mc的初始位置,定義目標位置,走路動作停止.設(shè)置偵聽器函數(shù),編寫監(jiān)聽函數(shù)setXY,使女孩走路的目標位置由單擊鼠標決定.設(shè)置enterFrame事件偵聽器,編寫女孩走到目標位置的實現(xiàn)方法.主要包括XY的變化,大小的變化.準備素材程序代碼varmoveL=this.height-girl_mc.height;//this.height是場景中對象重疊時,最高的數(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角色移動,參見書P44作業(yè)完成知識技能總結(jié)計數(shù)器變量的定義var變量名:數(shù)據(jù)類型數(shù)據(jù)類型簡單類型5個:int(32有符號整數(shù)).vara:int=3.45;varname:String=“fox”uint(32位無符號整數(shù),非負整數(shù))表示顏色值、鍵控代碼值等varcolor:uint=0xff9900;trace(color);輸出表示十進制整數(shù)的顏色值constKEY_A:uint=65;鍵A的代碼值Number浮點運算對于浮點運算不能用==判斷2個數(shù)是否相等,浮點計算有誤差trace(0.15+0.15==0.3)truetrace(0.1+0.2==0.3)false.知識技能總結(jié)知識技能總結(jié)數(shù)據(jù)類型簡單類型:Boolean布爾值.非此即彼的數(shù)據(jù),取值ture,false;varisRight:

Boolean=true;String類型,由單引號或雙引號括起來的字符串字符串的長度與索引:varname:String=“foxhhyy”;trace(name.length);7索引從0開始trace(name.charAt(2));x—返回指定位置索引的字符知識技能總結(jié)知識技能總結(jié)數(shù)據(jù)類型復雜數(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的頂級類知識技能總結(jié)引用數(shù)據(jù)類型函數(shù)類型類類型接口類型flash.u知識技能總結(jié)使用Stage類stage是Stage類的實例,常用屬性:stage.frameRate;舞臺幀速度stage.stageWidth,stage.stageHeightstage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實現(xiàn)用單擊方式改變?nèi)粱蛲顺鋈两换コ绦蛑R技能總結(jié)知識技能總結(jié)stage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實現(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"; }}知識技能總結(jié)varisFull:Boolean=fals知識技能總結(jié)使用MoiveClip類用程序(編程繪制填充圓形.fla)實現(xiàn)在舞臺上建立一個圓形r=15影片剪輯對象,填充為紅色,邊線粗細2,黑色。用MoiveClip類的graphics屬性繪制圓形.顯示對象用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);知識技能總結(jié)varc_mc:MovieClip=newM§2-2演員的動作表演項目2:持續(xù)旋轉(zhuǎn)與變換顏色效果綿羊角色會隨著鼠標位置來改變自身的旋轉(zhuǎn)角度大小,旋轉(zhuǎn)速度與方向.其背后光束效果,會隨機變換顏色rotation&chgcolor素材.fla§2-2演員的動作表演項目2:持續(xù)旋轉(zhuǎn)與變換顏色效果準備素材背景底圖綿羊影片剪輯Sheep_mc光束color_mcAS圖層實現(xiàn)思路設(shè)定Sheep_mc的最大轉(zhuǎn)速設(shè)置偵聽器函數(shù),enterFrame事件.編寫監(jiān)聽函數(shù)gotRot,使Sheep_mc的_rotation屬性會根據(jù)當前鼠標的位置進行旋轉(zhuǎn).對象的旋轉(zhuǎn)屬性指定影片剪輯的旋轉(zhuǎn)角度.屬性值在0~180順時針方向-180~0逆時針方向.超出范圍時,數(shù)值加上或減去360的倍數(shù)即可.如:mc.rotation=450等于mc.rotation=90實現(xià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順時針,-180-0逆時針;

//實現(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;知識技能總結(jié)頂級類數(shù)學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;隨機方法Math.random().返回0<=Math.random()<1小數(shù).如果得到A~B之間的隨機數(shù),用下面代碼表示:A+(B-A)*Math.random();如:Math.random()*10+10;返回大于等于10,小于20的小數(shù)知識技能總結(jié)知識技能總結(jié)頂級類數(shù)學Math.random()*取整方法1.將小數(shù)賦值給int或uint類型的變量時,小數(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知識技能總結(jié)知識技能總結(jié)取隨機整數(shù)時,應使用floor()方法而不是round()方法進行隨機取整.例:for(vari:int=0;i<100;i++)trace(Math.round(Math.random()*21));//返回包括21在內(nèi)的整數(shù);當random()返回的小數(shù)大于20并小于20.5時,round()取整為20;大于20.5取整為21;所以0的概率少了一半;trace(Math.floor(Math.random()*21));//返回不包括21在內(nèi)的整數(shù)且隨機數(shù)準確.參見書P60實例知識技能總結(jié)知識技能總結(jié)頂級類數(shù)組Array:將一系列數(shù)據(jù)有序地組織起來,進行批量的處理和操作。varemployee:Array=[“Adobe”,”Facebook”,”Apple”]或一系列顏色值varemployee:Array=newArray();employee[0]=“Adobe”;employee[1]=“Facebook”;employee.length數(shù)組長度;數(shù)組下標從0知識技能總結(jié)知識技能總結(jié)調(diào)整顏色顯示對象步驟**調(diào)整Color屬性ColorTransform類定義在flash.geom包中(flash.geom.ColorTransform).其方法可以調(diào)整顯示對象的顏色.每個顯示對象都有transform,ColorTransform屬性.1.先構(gòu)造函數(shù)newColorTransform()varmyColor:ColorTransform=newColorTransform();2.調(diào)整color屬性設(shè)置顏色值myColor.color=0xffffff;3.將ColorTransform實例myColor重新分配給對象(transform.colorTransform)myObject.transform.colorTransform=myColor;注意:顏色不會應用于MC的背景知識技能總結(jié)知識技能總結(jié)調(diào)整顏色顯示對象步驟**調(diào)整乘數(shù)屬性和偏移屬性(依鼠標改變顏色.fla)顯示對象有多種顏色,不希望完全重新調(diào)整對象的顏色,而根據(jù)現(xiàn)有顏色來調(diào)整顯示對象的顏色。ColorTransform有一組乘數(shù)屬性和偏移屬性進行此類調(diào)整。1.乘數(shù)屬性redMultiplier、greenMultiplier、blueMultiplier、alphaMultiplier可以將顏色調(diào)整或顏色轉(zhuǎn)換應用于所有四種通道:紅色、綠色、藍色和Alpha透明度(在0-1范圍取值,默認1正常)。增強或削弱顯示對象上的某些顏色。

2.偏移屬性redOffset、greenOffset、blueOffset、alphaOffset額外增加對象上某種顏色值。顏色屬性面板-高級知識技能總結(jié)顏色屬性面板-高級畫面顏色動態(tài)改變bg_mc.addEventListener(MouseEvent.MOUSE_MOVE,rg);functionrg(e:MouseEvent){ varct:ColorTransform=newColorTransform();

//根據(jù)鼠標位置設(shè)置紅色和綠色乘數(shù),鼠標x軸位置控制紅色;y軸位置控制綠色 //鼠標從圖像左側(cè)到右側(cè),紅色值的范圍從0%到100%(從無紅色到正常圖像紅色) //鼠標從圖像上方到下方,綠色值的范圍從0%到100%(從無綠色到正常圖像綠色) ct.redMultiplier=this.mouseX/bg_mc.width; ct.greenMultiplier=this.mouseY/bg_mc.height; bg_mc.transform.colorTransform=ct;}畫面顏色動態(tài)改變bg_mc.addEventListener編程實現(xiàn)1.產(chǎn)生漫天雪花效果(復制雪花.fla,雪花飄起來.fla)2.子彈沿螺旋線運動效果(沿螺旋線運動的子彈sin().fla)編程實現(xiàn)漫天雪花的編程思想制作雪花影片剪輯元件,在庫中設(shè)置屬性類名:snow產(chǎn)生一個顯示對象容器,以便將雪花實例放在該容器中利用構(gòu)造函數(shù)new產(chǎn)生250朵雪花實例,并修改他們的XY大小等屬性,充滿舞臺.讓雪花飄使雪花飄起來,利用幀頻事件觸發(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恤顏色編程實現(xiàn)以下功能據(jù)用戶對顏色的需求,決定T恤的顏色.要求可選顏色與書中的顏色至少有一半以上不同作業(yè):定制T恤顏色編程實現(xiàn)以下功能實現(xiàn)步驟建立11個不同的顏色按鈕,命名a_btn,b_btn…用屬性面板調(diào)整色調(diào)并記錄色調(diào)值.建立衣架和陰影的MC建立衣服影片剪輯cloth_mc,色調(diào)為紅.編程程序定義顏色數(shù)組,存放11個按鈕的顏色值varcolor_array=[0xff0000,0x00ff00,0x0000ff,…]為11個顏色按鈕注冊事件偵聽器,事件為“click”a_btn.a(chǎn)ddEventListener(“click”,clothColor);事件處理函數(shù)據(jù)用戶單擊的顏色,為衣服定制顏色建立ColorTransform的實例對象varmyColor:ColorTransform=newColorTransform();用分支語句判斷myColor.Color的顏色值將顏色值應用在衣服上cloth_mc.Transform.ColorTransform=myColor;實現(xiàn)步驟制作震動效果(發(fā)素材shake素材.fla)技術(shù)要點:將震動影子對象置于頂層,透明度屬性60%,位置不重疊使該對象與原對象位置隨機進行微小動態(tài)變化建立幀頻事件偵聽器使震動影子對象的坐標位置隨機微小變化制作震動效果(發(fā)素材shake素材.fla)可調(diào)速的滑動廣告牌利用鼠標指針的X軸位置,決定廣告牌的滑動方向(向左或向右)與滑動速度案例制作要點(廣告素材.fla)可視元素廣告牌影片剪輯(六部影片畫面,組合成3組)廣告牌影片剪輯的移動速度由當前光標的位置確定(250-this.mouseX)/10;以舞臺中心位置為中心廣告牌內(nèi)容的無縫對接技術(shù)左邊X<0右邊X>850可調(diào)速的滑動廣告牌利用鼠標指針的X軸位置,決定廣告牌的滑動方4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺寸大小600*400,幀頻24fps.水果有西瓜、桔子、火龍果、草莓(可以創(chuàng)新)游戲開始后,用鼠標移動舞臺的小女孩(可以創(chuàng)新)接住從天而降的水果。水果的速度一輪比一輪快,4種水果的出現(xiàn)要隨機。接住西瓜6分,桔子2分,草莓1分,火龍果-3分。游戲界面顯示總分,時間100秒倒計時,時間到顯示重玩一次,總分清零。有聲效加分(背景音樂、水果收獲音效)項目三《水果豐收》Flash游戲制作4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺網(wǎng)頁游戲《水果豐收》項目實施要求分組進行,6人一組,自由組合。要求:男女搭配,特長搭配。各自為小組起名,并設(shè)計小組LOGO。選定項目組長(確保每位成員參與,明確分工);確定演講匯報員(制作PPT,匯報本組成果);確定記錄員,記錄小組會議討論情況。上交時間:4.12各小組上交作品,演示答辨,小組間評價。項目三水果豐收Flash游戲制作網(wǎng)頁游戲《水果豐收》項目實施要求項目三水果豐收Flash游游戲?qū)崿F(xiàn)思路制作計分器影片剪輯注冊幀頻事件偵聽器,事件函數(shù)為文本框設(shè)置分數(shù)值parent.score制作計時器影片剪輯初值hastime=100秒,開始時間值startime注冊幀頻事件偵聽器,事件函數(shù)處理倒計時hastime-Math.round(nowtime-startime)/1000)倒計時為0,移除該偵聽器游戲轉(zhuǎn)到結(jié)束場景;游戲?qū)崿F(xiàn)思路制作計分器影片剪輯游戲?qū)崿F(xiàn)思路制作影片剪輯水果對象類4種水果各一幀設(shè)置水果的初始位置在舞臺上邊緣之外this.x=Math.random()*500+50;(50-550間)this.y=-40;下落速度speed=5+Math.random()*30;(5-35間)水果顯示的各類和對應的分數(shù)西瓜、桔子、草莓、火龍果出現(xiàn)的可能性10%,20%,30%,40%.0.01.0西瓜桔子草莓火龍果游戲?qū)崿F(xiàn)思路制作影片剪輯水果對象類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;}注冊幀頻事件偵聽器;事件函數(shù):設(shè)置下落速度判斷水果超出邊界時,移除偵聽器和水果對象;否則,判斷水果是否與小女孩手中的盤接觸,是,加分;移除偵聽和水果;k=Math.random();注冊幀頻事件偵聽器;游戲?qū)崿F(xiàn)思路規(guī)劃主場景第一幀內(nèi)容,游戲標題,水果對應分數(shù),開始按鈕第二幀內(nèi)容,計時器、計分器、小女孩、分數(shù)顯示,隱藏鼠標.startDrag(t/f,拖曳區(qū)域);拖曳區(qū)域為矩形對象,指定拖曳影片剪輯時的限制范圍第三幀內(nèi)容,不停地復制水果,形成大量水果下落效果第四幀內(nèi)容,最后統(tǒng)計最終得分,顯示再玩一次。游戲?qū)崿F(xiàn)思路規(guī)劃主場景碰撞檢測形狀與形狀碰撞hitTestObject();如果2個對象在任意一點上重疊或交叉,該方法返回true;否則返回false。注意:1.碰撞是以顯示對象的外接矩形框是否重疊作為評判的依據(jù)。2.剪輯對象運行時有旋轉(zhuǎn)時,采用的是大虛線框作為沖突檢測的矩形區(qū)域碰撞檢測形狀與形狀碰撞hitTestObject();碰撞檢測點與形狀碰撞顯示對象.hitTestPoint(X坐標,Y坐標,[判定區(qū)域])檢測某個點是否與對象碰撞.判定區(qū)域=布爾值。true以影片剪輯實際形狀,為評估區(qū)域;默認值false以影片剪輯矩形形狀,范圍框,為評估區(qū)域;坐標點判定區(qū)域=true判定區(qū)域=falseAfalsetrueBtruetrueCfalsefalse碰撞檢測點與形狀碰撞坐標點判定區(qū)域=true判定區(qū)域=fal燭光點燃注冊3個偵聽函數(shù)MOUSE_DOWN、MOUSE_UP使火柴拖動、停止ENTER_FRAME使蠟燭點燃,火柴熄滅燭光點燃注冊3個偵聽函數(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è)置對象拖動的有效范圍案例:主角拖動與左右走向varrect:Rectangle=newRectangle(50,380,420,0);//拖動范圍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è)置對象拖動的有效范圍案例:主角拖動與左右走向矩形與形狀碰撞矩形的4個頂點與形狀的檢測,即點與形狀的檢測,是迷宮游戲的基礎(chǔ)。矩形與形狀碰撞矩形的4個頂點與形狀的檢測,即點與形狀的檢測,AS3聲音體系結(jié)構(gòu)使用flash.media包中的以下類Sound類處理聲音加載、管理基本聲音屬性及啟動聲音播放.SoundChannel類控制聲音左右聲道音量SoundChannelContext加載聲音時使用的緩沖秒數(shù),該對象作哦Sound.load()方法的參數(shù).SoundMixer多個聲道混合SoundTranform包含控制音量和聲相的值等聲音的編程處理AS3聲音體系結(jié)構(gòu)使用flash.media包中的以下類聲將聲音導入到庫中進行加載庫中選擇聲音鏈接,選鏈接第1項為AS導出生成聲音的類名稱。編程vars:Sound=newblue();//blue為聲音類名稱s.play();聲音的編程處理將聲音導入到庫中進行加載聲音的編程處理聲音文件的外部加載程序與聲音文件保存在同一目錄下編程varurl:URLRequest=newURLRequest("url.mp3");

vars:Sound=newSound(url);s.play();為點燃蠟燭配音聲音的編程處理聲音文件的外部加載聲音的編程處理項目3《水果豐收》總結(jié)什么樣的游戲才是好游戲?可玩性:游戲的完整性、流暢程度、程序的健壯性(處理程序各種異常,避免運行錯誤)。趣味性:激起玩家的某種良性情感,包括成就感、榮譽感、獲得財富、力量和社會交流。感染力:場面宏偉、音效出眾等。人性化操作:人機互動提出的要求。如街機街頭霸王,操作簡化不失趣味;反恐精英CS,ASDF空格鼠標的完美結(jié)合。星際爭霸左右開弓。游戲操作越簡單越好。項目3《水果豐收》總結(jié)什么樣的游戲才是好游戲?項目3《水果豐收》總結(jié)游戲制作的一般過程創(chuàng)意收集、情節(jié)設(shè)計、設(shè)計文檔、詳細設(shè)計、美工與音效設(shè)計、程序設(shè)計、測試與發(fā)布等階段。設(shè)計文檔(《尊》設(shè)計文檔)流程圖設(shè)計貫穿于游戲總體設(shè)計到程序編碼的整個過程。它給出了游戲的總體框架、程序走向和關(guān)鍵算法,是游戲代碼的靈魂。項目3《水果豐收》總結(jié)游戲制作的一般過程項目3《水果豐收》總結(jié)建立游戲資源庫角色資源庫:游戲角色可能用到的視圖、動作、表情、特技以元件形式放在庫中通用框架資源庫:建立游戲的基礎(chǔ)程序架構(gòu),相當于游戲引擎。據(jù)游戲的類型不同,可以設(shè)計回合制游戲、過關(guān)類游戲、角色扮演、網(wǎng)絡互動等多個通用框架。音效資源庫代碼資源庫:下載進度條、計數(shù)器、計時器。包含界面和程序,以影片剪輯形式存于共享庫中。特定項目資源庫項目3《水果豐收》總結(jié)建立游戲資源庫項目3《水果豐收》總結(jié)作品性能優(yōu)化正常情況下,F(xiàn)lash作品是按幀間隔時間順利地播放動畫以及執(zhí)行程序。但前提是,每一幀內(nèi)的所有操作包括位圖、矢量圖繪制、代碼執(zhí)行等,能夠在少于幀間隔時間內(nèi)完成。如果不能完成,就會產(chǎn)生延遲,游戲畫面就卡住了。Flash最多允許一幀的延遲時間為15S。盡量避免出現(xiàn),一幀的操作時間超過幀間隔時間項目3《水果豐收》總結(jié)作品性能優(yōu)化項目3《水果豐收》總結(jié)作品性能優(yōu)化復雜的矢量圖形,盡量降低矢量圖的曲線數(shù)。通過修改|形狀|優(yōu)化實現(xiàn)。具有大量復雜漸變效果的圖形。漸變動畫是消耗CPU的大戶。如一座彩虹漸變動畫,改用位圖過度使用Alpha透明度的圖形。透明度需要渲染,和重新計算疊加部分,需要大量CPU資源。過多的單獨的動畫或者運動區(qū)域。位圖替代,降低品質(zhì)效率低下的代碼。優(yōu)化代碼,實時性要求高的游戲,幀頻提高30-50fps.其他因素項目3《水果豐收》總結(jié)作品性能優(yōu)化呈現(xiàn)生日禮物3份,選擇點燃生日燭光播放生日祝福-音樂播放器項目三生日互動賀卡呈現(xiàn)生日禮物3份,選擇項目三生日互動賀卡第2單元動畫演出內(nèi)容的編程設(shè)計項目三交互生日賀卡第2單元動畫演出內(nèi)容的編程設(shè)計項目三交互生日賀卡65加入\移除演員在單擊鼠標位置動態(tài)加入演員發(fā)老虎演員素材.fla在單擊實例時,移除發(fā)斑馬素材.fla加入\移除演員在單擊鼠標位置動態(tài)加入演員§2-1動畫演員的增減改造項目1:使演員數(shù)量進行動態(tài)變換實現(xiàn)交互,鼠標單擊加入老虎動物角色,增加10個時,出現(xiàn)瞄準器.移動瞄準器,單擊后可刪除已加入的老虎角色.§2-1動畫演員的增減改造項目1:使演員數(shù)量進行動態(tài)變換準備素材背景底圖、老虎影片剪輯、瞄準器影片剪輯實現(xiàn)思路鼠標單擊出現(xiàn)老虎角色的技術(shù)支持將老虎元件屬性定義為類,單擊時不斷創(chuàng)建該類的實例定義事件(click)偵聽器,編寫監(jiān)聽函數(shù)copyMc()加入演員。并計數(shù)當老虎數(shù)量達到10個時,不在增加老虎.用瞄準器刪除老虎的技術(shù)當計數(shù)到10個時,出現(xiàn)瞄準器,單擊可以刪除老虎演員sh_mc.startDrag(true);刪除click偵聽器;重新注冊偵聽器,定義刪除函數(shù)當只剩最后一個老虎時,不再刪除準備素材程序代碼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ù),將隱匿的對象轉(zhuǎn)換為顯示對象

}}程序代碼varm=1;事件的目標對象targetEvent類的target和currentTarget屬性target屬性存儲對事件目標的引用currentTarget屬性存儲對當前正在處理事件對象的顯示列表對象的引用varcircleMC:MovieClip=MovieClip(e.target)還可以寫成varcircleMC:MovieClip=e.targetasMovieClip即聲明一個名稱為circleMC的MovieClip對象,讓它等于一個也是MovieClip類型的對象MovieClip(e.target)相當于把e.target轉(zhuǎn)化為MovieClip對象

事件的目標對象targetEvent類的target和庫中定義影片剪輯類8個隨機彩色氣泡鼠標跟隨技術(shù)實現(xiàn)要點:建立氣泡影片剪輯圓注冊點不在中心位置,加濾鏡陰影效果.制作位置移動動畫2.庫中定義影片剪輯類ball3.注冊幀頻偵聽事件4.事件函數(shù)功能產(chǎn)生類ball的實例,改變其旋轉(zhuǎn)度,顏色,使產(chǎn)生的ball實例變?yōu)榭赏蟿樱?產(chǎn)生一定數(shù)量后,刪除偵聽器庫中定義影片剪輯類8個隨機彩色氣泡鼠標跟隨技術(shù)實現(xiàn)要點:隨機彩色氣泡鼠標跟隨流程圖初始化計數(shù)器i;申請顏色變量myColor;定義事件函數(shù)copyball();注冊幀頻事件偵聽器;i<8產(chǎn)生新的氣泡;定義氣泡的旋轉(zhuǎn)度;定義氣泡的顏色;將氣泡添加到主時間軸中;使氣泡可拖動;i增加1;i=0;移除幀頻事件偵聽器;是否隨機彩色氣泡鼠標跟隨初始化計數(shù)器i;定義事件函數(shù)copyba隨機彩色氣泡鼠標跟程序代碼隨機彩色氣泡鼠標跟程序代碼創(chuàng)建顯示列表舞臺是Stage類的實例,其屬性是通過變量stage屬性來引用.Stage類屬于容器類,可以在舞臺中添加其他顯示實例.在默認情況下,主時間軸是顯示實例,已添加在舞臺中.任何一個顯示實例肯定在一定的顯示容器中,在實例化顯示類時,要使用addChild()方法將顯示實例添加到顯示列表中.添加和移除顯示實例的方法addChild()將顯示實例添加到顯示列表中addChildAt()通過索引將顯示實例添加到顯示列表中removeChild()從顯示列表中移除顯示實例removeChildAt()通過索引從顯示列表中移除顯示實例要檢測顯示容器中,有幾個顯示實例,可以用numChildren屬性容器名稱.numChildren給顯示對象命名顯示對象變量.Name=“XXXX”創(chuàng)建顯示列表舞臺是Stage類的實例,其屬性是通過變量sta顯示列表示例varsp1:Sprite=newSprite();varsp2:Sprite=newSprite();=“sp2”;varsp3:Sprite=newSprite();varsp4:Sprite=newSprite();S=“sp2_sp4”;//name屬性定義實例名stage.addChild(sp1);this.addChild(sp2);sp2.addChild(sp3);sp2.addChild(sp4);rootstagesp1sp2sp3sp4trace(stage.numChildren);//檢測某個容器有幾個顯示實例trace(this.numChildren);trace(sp2.numChildren);注意:程序創(chuàng)建的顯示對象,不能通過簡單的點語法來訪問;顯示列表的實例是手工創(chuàng)建的影片剪輯實例時,可用點語法向下訪問顯示列表示例varsp1:Sprite=newSpritMovieClip、Sprite、Shape的區(qū)別MovieClip:擁有一個時間軸,動態(tài)類。三者都包括graphics屬性Sprite:不需要時間軸的對象的相應基類,是去掉了時間軸的MovieClip,不是動態(tài)類。對象是顯示對象容器,Sprite對象支持鼠標單擊事件。Shape:創(chuàng)建簡單形狀。Shape對象比包含相同圖形的Sprite對象消耗的內(nèi)存少,不支持鼠標單擊事件(startDrag()),不是容器不能包含子顯示對象。MovieClip、Sprite、Shape的區(qū)別Movie上一級引用從下向上訪問:parent屬性trace();trace(sp4.parent.P);rootstagesp1sp2sp3sp4下一級引用getChildAt();據(jù)索引來訪問getChildByName(name:String);據(jù)實例名來訪問01上一級引用從下向上訪問:parent屬性rootstages舞臺內(nèi)反復運動的足球足球素材.fla(P36)通過幀頻事件,以一定的增量不斷改變影片剪輯的X、Y坐標.If語句判斷上下左右邊界的處理Y<0Y>300X<0X>500舞臺內(nèi)反復運動的足球足球素材.fla(P36)with語句多次參考元件的各個屬性或方法,不需一再指定元件的名稱。從而潛在地減少需要編寫的代碼量with(實例名稱){程序語句}2.with(mymc){ x=100; y=100; scaleX=2; scaleY=2; alpha=0.9; rotation=45;}示例:福到了1.繪制影片剪輯,30*30正方形,在其上部輸入福字并旋轉(zhuǎn)135度,名為m_mc,放于場景在上角.with語句多次參考元件的各個屬性或方法,不需一再指定元件的演員由遠而近走來的效果(move源文件.fla)角色在場景中進行移動,同時有近大遠小的效果.用with進行源文件的修改(move.fla)§2-2演員的動作表演演員由遠而近走來的效果(move源文件.fla)§2-2演員改造項目2演員按指定位置行走(xymove.fla)角色在場景中,能按照鼠標點擊的位置進行移動,同時有近大遠小的效果.參P42人物朝指定位置行走(女孩走路素材.fla)§2-2演員的動作表演改造項目2演員按指定位置行走(xymove.fla)§2-2準備素材背景底圖、女孩走路影片剪輯gril_mc實現(xiàn)思路設(shè)定gril_mc的初始位置,定義目標位置,走路動作停止.設(shè)置偵聽器函數(shù),編寫監(jiān)聽函數(shù)setXY,使女孩走路的目標位置由單擊鼠標決定.設(shè)置enterFrame事件偵聽器,編寫女孩走到目標位置的實現(xiàn)方法.主要包括XY的變化,大小的變化.準備素材程序代碼varmoveL=this.height-girl_mc.height;//this.height是場景中對象重疊時,最高的數(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角色移動,參見書P44作業(yè)完成知識技能總結(jié)計數(shù)器變量的定義var變量名:數(shù)據(jù)類型數(shù)據(jù)類型簡單類型5個:int(32有符號整數(shù)).vara:int=3.45;varname:String=“fox”uint(32位無符號整數(shù),非負整數(shù))表示顏色值、鍵控代碼值等varcolor:uint=0xff9900;trace(color);輸出表示十進制整數(shù)的顏色值constKEY_A:uint=65;鍵A的代碼值Number浮點運算對于浮點運算不能用==判斷2個數(shù)是否相等,浮點計算有誤差trace(0.15+0.15==0.3)truetrace(0.1+0.2==0.3)false.知識技能總結(jié)知識技能總結(jié)數(shù)據(jù)類型簡單類型:Boolean布爾值.非此即彼的數(shù)據(jù),取值ture,false;varisRight:

Boolean=true;String類型,由單引號或雙引號括起來的字符串字符串的長度與索引:varname:String=“foxhhyy”;trace(name.length);7索引從0開始trace(name.charAt(2));x—返回指定位置索引的字符知識技能總結(jié)知識技能總結(jié)數(shù)據(jù)類型復雜數(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的頂級類知識技能總結(jié)引用數(shù)據(jù)類型函數(shù)類型類類型接口類型flash.u知識技能總結(jié)使用Stage類stage是Stage類的實例,常用屬性:stage.frameRate;舞臺幀速度stage.stageWidth,stage.stageHeightstage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實現(xiàn)用單擊方式改變?nèi)粱蛲顺鋈两换コ绦蛑R技能總結(jié)知識技能總結(jié)stage.displayState;(“fullScreen”,”normal)”示例(isFull.fla):編程實現(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"; }}知識技能總結(jié)varisFull:Boolean=fals知識技能總結(jié)使用MoiveClip類用程序(編程繪制填充圓形.fla)實現(xiàn)在舞臺上建立一個圓形r=15影片剪輯對象,填充為紅色,邊線粗細2,黑色。用MoiveClip類的graphics屬性繪制圓形.顯示對象用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);知識技能總結(jié)varc_mc:MovieClip=newM§2-2演員的動作表演項目2:持續(xù)旋轉(zhuǎn)與變換顏色效果綿羊角色會隨著鼠標位置來改變自身的旋轉(zhuǎn)角度大小,旋轉(zhuǎn)速度與方向.其背后光束效果,會隨機變換顏色rotation&chgcolor素材.fla§2-2演員的動作表演項目2:持續(xù)旋轉(zhuǎn)與變換顏色效果準備素材背景底圖綿羊影片剪輯Sheep_mc光束color_mcAS圖層實現(xiàn)思路設(shè)定Sheep_mc的最大轉(zhuǎn)速設(shè)置偵聽器函數(shù),enterFrame事件.編寫監(jiān)聽函數(shù)gotRot,使Sheep_mc的_rotation屬性會根據(jù)當前鼠標的位置進行旋轉(zhuǎn).對象的旋轉(zhuǎn)屬性指定影片剪輯的旋轉(zhuǎn)角度.屬性值在0~180順時針方向-180~0逆時針方向.超出范圍時,數(shù)值加上或減去360的倍數(shù)即可.如:mc.rotation=450等于mc.rotation=90實現(xià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順時針,-180-0逆時針;

//實現(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;知識技能總結(jié)頂級類數(shù)學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;隨機方法Math.random().返回0<=Math.random()<1小數(shù).如果得到A~B之間的隨機數(shù),用下面代碼表示:A+(B-A)*Math.random();如:Math.random()*10+10;返回大于等于10,小于20的小數(shù)知識技能總結(jié)知識技能總結(jié)頂級類數(shù)學Math.random()*取整方法1.將小數(shù)賦值給int或uint類型的變量時,小數(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知識技能總結(jié)知識技能總結(jié)取隨機整數(shù)時,應使用floor()方法而不是round()方法進行隨機取整.例:for(vari:int=0;i<100;i++)trace(Math.round(Math.random()*21));//返回包括21在內(nèi)的整數(shù);當random()返回的小數(shù)大于20并小于20.5時,round()取整為20;大于20.5取整為21;所以0的概率少了一半;trace(Math.floor(Math.random()*21));//返回不包括21在內(nèi)的整數(shù)且隨機數(shù)準確.參見書P60實例知識技能總結(jié)知識技能總結(jié)頂級類數(shù)組Array:將一系列數(shù)據(jù)有序地組織起來,進行批量的處理和操作。varemployee:Array=[“Adobe”,”Facebook”,”Apple”]或一系列顏色值varemployee:Array=newArray();employee[0]=“Adobe”;employee[1]=“Facebook”;employee.length數(shù)組長度;數(shù)組下標從0知識技能總結(jié)知識技能總結(jié)調(diào)整顏色顯示對象步驟**調(diào)整Color屬性ColorTransform類定義在flash.geom包中(flash.geom.ColorTransform).其方法可以調(diào)整顯示對象的顏色.每個顯示對象都有transform,ColorTransform屬性.1.先構(gòu)造函數(shù)newColorTransform()varmyColor:ColorTransform=newColorTransform();2.調(diào)整color屬性設(shè)置顏色值myColor.color=0xffffff;3.將ColorTransform實例myColor重新分配給對象(transform.colorTransform)myObject.transform.colorTransform=myColor;注意:顏色不會應用于MC的背景知識技能總結(jié)知識技能總結(jié)調(diào)整顏色顯示對象步驟**調(diào)整乘數(shù)屬性和偏移屬性(依鼠標改變顏色.fla)顯示對象有多種顏色,不希望完全重新調(diào)整對象的顏色,而根據(jù)現(xiàn)有顏色來調(diào)整顯示對象的顏色。ColorTransform有一組乘數(shù)屬性和偏移屬性進行此類調(diào)整。1.乘數(shù)屬性redMultiplier、greenMultiplier、blueMultiplier、alphaMultiplier可以將顏色調(diào)整或顏色轉(zhuǎn)換應用于所有四種通道:紅色、綠色、藍色和Alpha透明度(在0-1范圍取值,默認1正常)。增強或削弱顯示對象上的某些顏色。

2.偏移屬性redOffset、greenOffset、blueOffset、alphaOffset額外增加對象上某種顏色值。顏色屬性面板-高級知識技能總結(jié)顏色屬性面板-高級畫面顏色動態(tài)改變bg_mc.addEventListener(MouseEvent.MOUSE_MOVE,rg);functionrg(e:MouseEvent){ varct:ColorTransform=newColorTransform();

//根據(jù)鼠標位置設(shè)置紅色和綠色乘數(shù),鼠標x軸位置控制紅色;y軸位置控制綠色 //鼠標從圖像左側(cè)到右側(cè),紅色值的范圍從0%到100%(從無紅色到正常圖像紅色) //鼠標從圖像上方到下方,綠色值的范圍從0%到100%(從無綠色到正常圖像綠色) ct.redMultiplier=this.mouseX/bg_mc.width; ct.greenMultiplier=this.mouseY/bg_mc.height; bg_mc.transform.colorTransform=ct;}畫面顏色動態(tài)改變bg_mc.addEventListener編程實現(xiàn)1.產(chǎn)生漫天雪花效果(復制雪花.fla,雪花飄起來.fla)2.子彈沿螺旋線運動效果(沿螺旋線運動的子彈sin().fla)編程實現(xiàn)漫天雪花的編程思想制作雪花影片剪輯元件,在庫中設(shè)置屬性類名:snow產(chǎn)生一個顯示對象容器,以便將雪花實例放在該容器中利用構(gòu)造函數(shù)new產(chǎn)生250朵雪花實例,并修改他們的XY大小等屬性,充滿舞臺.讓雪花飄使雪花飄起來,利用幀頻事件觸發(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恤顏色編程實現(xiàn)以下功能據(jù)用戶對顏色的需求,決定T恤的顏色.要求可選顏色與書中的顏色至少有一半以上不同作業(yè):定制T恤顏色編程實現(xiàn)以下功能實現(xiàn)步驟建立11個不同的顏色按鈕,命名a_btn,b_btn…用屬性面板調(diào)整色調(diào)并記錄色調(diào)值.建立衣架和陰影的MC建立衣服影片剪輯cloth_mc,色調(diào)為紅.編程程序定義顏色數(shù)組,存放11個按鈕的顏色值varcolor_array=[0xff0000,0x00ff00,0x0000ff,…]為11個顏色按鈕注冊事件偵聽器,事件為“click”a_btn.a(chǎn)ddEventListener(“click”,clothColor);事件處理函數(shù)據(jù)用戶單擊的顏色,為衣服定制顏色建立ColorTransform的實例對象varmyColor:ColorTransform=newColorTransform();用分支語句判斷myColor.Color的顏色值將顏色值應用在衣服上cloth_mc.Transform.ColorTransform=myColor;實現(xiàn)步驟制作震動效果(發(fā)素材shake素材.fla)技術(shù)要點:將震動影子對象置于頂層,透明度屬性60%,位置不重疊使該對象與原對象位置隨機進行微小動態(tài)變化建立幀頻事件偵聽器使震動影子對象的坐標位置隨機微小變化制作震動效果(發(fā)素材shake素材.fla)可調(diào)速的滑動廣告牌利用鼠標指針的X軸位置,決定廣告牌的滑動方向(向左或向右)與滑動速度案例制作要點(廣告素材.fla)可視元素廣告牌影片剪輯(六部影片畫面,組合成3組)廣告牌影片剪輯的移動速度由當前光標的位置確定(250-this.mouseX)/10;以舞臺中心位置為中心廣告牌內(nèi)容的無縫對接技術(shù)左邊X<0右邊X>850可調(diào)速的滑動廣告牌利用鼠標指針的X軸位置,決定廣告牌的滑動方4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺寸大小600*400,幀頻24fps.水果有西瓜、桔子、火龍果、草莓(可以創(chuàng)新)游戲開始后,用鼠標移動舞臺的小女孩(可以創(chuàng)新)接住從天而降的水果。水果的速度一輪比一輪快,4種水果的出現(xiàn)要隨機。接住西瓜6分,桔子2分,草莓1分,火龍果-3分。游戲界面顯示總分,時間100秒倒計時,時間到顯示重玩一次,總分清零。有聲效加分(背景音樂、水果收獲音效)項目三《水果豐收》Flash游戲制作4369游戲公司委托XX小組開發(fā)一款網(wǎng)頁游戲《水果豐收》,尺網(wǎng)頁游戲《水果豐收》項目實施要求分組進行,6人一組,自由組合。要求:男女搭配,特長搭配。各自為小組起名,并設(shè)計小組LOGO。選定項目組長(確保每位成員參與,明確分工);確定演講匯報員(制作PPT,匯報本組成果);確定記錄員,記錄小組會議討論情況。上交時間:4.12各小組上交作品,演示答辨,小組間評價。項目三水果豐收Flash游戲制作網(wǎng)頁游戲《水果豐收》項目實施要求項目三水果豐收Flash游游戲?qū)崿F(xiàn)思路制作計分器影片剪輯注冊幀頻事件偵聽器,事件函數(shù)為文本框設(shè)置分數(shù)值parent.score制作計時器影片剪輯初值hastime=100秒,開始時間值start

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論