(9) copy()偵聽器函數中,創建“喜鵲”對象,設置1到11之間的隨機數作為其隨機速度值,如第70行代碼所示。統一設置其y坐標為舞臺底部位置,x坐標為隨機舞臺寬度值,如第71、72行代碼所示。將創建的“喜鵲”對象統一添加到content_mc容器中,并注冊ROLL_OVER和ENTER_FRAME事件偵聽。當用戶移動鼠標指針經過“喜鵲”對象時,便會調用downHandler()偵聽器函數,清除其事件偵聽和清除該對象本身,如第81到85行代碼所示,同時也調用refreshGrade()方法累加計算用戶抓到的“喜鵲”數量。removeDrop()函數只是判斷“喜鵲”對象是否運動到舞臺頂部,當運動到舞臺頂部時,清除“喜鵲”對象的事件偵聽和其本身,如第95到100行代碼所示。
AS3代碼
private function copy(event:TimerEvent) { |
(10)下面代碼是對結束游戲的控制和重新開始初始化游戲。當用戶單擊“結束游戲”按鈕便調用該方法,停止_timer對象的計時,將“開始游戲”按鈕顯示出來同時隱藏“結束游戲”按鈕,如下面第111到113行代碼所示。然后清除容器中的所有子項偵聽和子項,如第116到124行代碼所示,再重新調用init()方法。
AS3代碼
private function outGame(event:MouseEvent):void{ _timer.stop(); start_btn.visible = true; out_btn.visible = false; //下面清除容器中的所有子項偵聽和子項 var num:uint = content_mc.numChildren; var _mc:MovieClip; for (var i:int = 0; i <num; i++) { _mc = content_mc.getChildAt(0) as MovieClip; _mc.removeEventListener(MouseEvent.MOUSE_DOWN, downHandler); _mc.removeEventListener(Event.ENTER_FRAME, removeDrop); content_mc.removeChild(_mc); } init(); } } } |