国产乱视频网站_久久亚洲一区二区三区四区_免费高清一级毛片_国产精品电影_国产精品乱码一区二区三区_美女天堂网

PS設(shè)計教程網(wǎng)歡迎你!

Flash CS4教程:詳細(xì)解析抓喜慶游戲教程(2)

文章來源于 動畫設(shè)計與制作208例,感謝作者 lby 給我們帶來經(jīng)精彩的文章!
設(shè)計教程/設(shè)計教程/Flash教程2009-10-13
圖13-5 手型 (6)下面先編寫已經(jīng)創(chuàng)建的元件擴(kuò)展類FLY ,該類接收一個Number類型參數(shù),將其賦值作為該類產(chǎn)生對象的y軸方向上的遞減值,如第16行代碼所示,通過在構(gòu)造函數(shù)中為其注冊ENTER_FRAME事件偵聽,使該類對象在

圖13-5 手型

(6)下面先編寫已經(jīng)創(chuàng)建的元件擴(kuò)展類“FLY” ,該類接收一個Number類型參數(shù),將其賦值作為該類產(chǎn)生對象的y軸方向上的遞減值,如第16行代碼所示,通過在構(gòu)造函數(shù)中為其注冊ENTER_FRAME事件偵聽,使該類對象在被創(chuàng)建時便執(zhí)行事件偵聽器函數(shù)enterFrameHandler ,也就是所創(chuàng)建的每一只喜鵲都以某一速度(變量speed值)作向上運(yùn)動。此外,該類還提供兩個方法:removeTimerHandler()用于清除事件偵聽器函數(shù),這在該類對象被刪除時會被調(diào)用(刪除不必要的事件偵聽);另一個方法flySpeed()是取得_speed值。

AS3代碼

package {   
    import flash.display.MovieClip;   
    import flash.utils.Timer;   
    import flash.events.*;   
       
    public class Fly extends MovieClip {   
        private var _speed:Number;   
           
        public function Fly(speed) {   
               
            _speed = Math.round(speed);   
            this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);   
        }   
           
        private function enterFrameHandler(event:Event):void{   
            this.y -= this._speed;   
        }   
           
        public function removeTimerHandler():void {   
            this.removeEventListener(Event.ENTER_FRAME,enterFrameHandler);   
            trace("清除實(shí)例事件");   
        }   
           
        public function get flySpeed():Number{   
            return this._speed;   
        }   
           
    }   
}

 

(7)下面是主程序類的編寫,我們在構(gòu)造函數(shù)初始化舞臺的寬度和高度,并創(chuàng)建存儲所有喜鵲對象的容器,如第22到25行代碼所示。在第27到31行代碼隱藏系統(tǒng)鼠標(biāo)并創(chuàng)建“手型”,通過偵聽stage對象的MOUSE_MOVE和MOUSE_DOWN事件來控制“手型”的鼠標(biāo)跟隨stageMoveHandler()和狀態(tài)stageDownHandler()。

 

AS3代碼

package {   
    import flash.display.*;   
    import flash.events.*;   
    import flash.utils.Timer;   
    import flash.text.TextField;   
    import flash.ui.Mouse;   
       
    public class Main extends Sprite {   
           
        private var _grade:Number;//得分值   
        public var displayGrade_txt:TextField;//得分顯示   
        public var start_btn:SimpleButton;//開始按鈕   
        private var stageW:Number;   
        private var stageH:Number;   
        private var content_mc:Sprite;//存儲所有喜鵲對象的容器   
        private var hand_mc:MovieClip;//“手型”對象   
           
        private var _timer:Timer;   
           
        public function Main() {   
               
            this.stageW = stage.stageWidth;   
            this.stageH = stage.stageHeight;   
            this.content_mc = new Sprite();   
            addChild(content_mc);   
               
            Mouse.hide();   
            this.hand_mc = new MouseHand();   
            hand_mc.mouseEnabled = false;   
            hand_mc.gotgood_mc.mouseEnabled = false;   
            addChild(hand_mc);   
            stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMoveHandler);   
            stage.addEventListener(MouseEvent.MOUSE_DOWN, stageDownHandler);   
               
            init();   
               
        }

(8)stageMoveHandler()方法是簡單的鼠標(biāo)跟隨,stageDownHandler()方法是當(dāng)用戶鼠標(biāo)點(diǎn)擊時播放步驟(5)中的“手型”影片剪輯動畫,產(chǎn)生“抓”的動作效果。 init()方法中開始初始化該游戲,主要是將displayGrade_txt顯示文本的內(nèi)容設(shè)置為0和為開始按鈕注冊事件偵聽器函數(shù)。當(dāng)用戶單擊start_btn按鈕后,便調(diào)用startGame()方法,此時,將結(jié)束游戲按鈕out_btn 設(shè)置為可見,并注冊事件偵聽器函數(shù),如第59、60行代碼所示。然后通過創(chuàng)建Timer類對象實(shí)例進(jìn)行計時,每隔500毫秒執(zhí)行一次copy()偵聽器函數(shù),也就是創(chuàng)建一只喜鵲對象,如第62到64行代碼所示。第65行將start_btn按鈕設(shè)置為不可見。

提示:關(guān)于計時器Timer類:Timer(delay:Number, repeatCount:int = 0)

參數(shù) delay:Number — 計時器事件間的延遲(以毫秒為單位)。

repeatCount:int (default = 0) — 指定重復(fù)次數(shù)。 如果為 0,則計時器重復(fù)無限次數(shù)。 如果不為 0,則將運(yùn)行計時器,運(yùn)行次數(shù)為指定的次數(shù),然后停止。

AS3代碼

private function stageMoveHandler(e:MouseEvent):void {   
       
    this.hand_mc.x = stage.mouseX;   
    this.hand_mc.y = stage.mouseY;   
}   
private function stageDownHandler(event:MouseEvent):void {   
       
    hand_mc.gotgood_mc.gotoAndPlay(2);   
}   
  
private function init():void{   
       
    _grade = 0;   
    displayGrade_txt.text = "0";   
    start_btn.addEventListener(MouseEvent.CLICK,startGame);   
}   
  
private function startGame(event:MouseEvent):void {   
       
    trace("開始游戲!");   
    out_btn.visible = true;   
    out_btn.addEventListener(MouseEvent.CLICK,outGame);   
       
    _timer =new Timer(500,0);   
    _timer.addEventListener(TimerEvent.TIMER,copy);   
    _timer.start();   
    start_btn.visible =false;   
}

 

版權(quán)所有PS設(shè)計教程網(wǎng)公安備案:蘇公網(wǎng)安備 32058302001023號工信部備案:滬ICP備09005587號
aaa
主站蜘蛛池模板: 亚洲国产精品久久久久秋霞不卡 | 亚洲婷婷免费 | 午夜精品一区二区三区在线观看 | 成人片网址 | 亚洲黄色在线观看 | 久热亚洲 | 国产传媒在线视频 | 欧美日韩一区二区视频在线观看 | www.色涩涩.com网站 | 国产精品久久久久久久久久久久 | 在线日本看片免费人成视久网 | 国产精品久久一区 | 久久高清国产 | 国产精品久久 | 亚洲色图图片 | 高清xxxx | av在线不卡播放 | 亚洲欧美日韩高清 | 久久窝 | 成人国产精品 | 91.成人天堂一区 | 日韩精品一区二区三区中文在线 | 国产精品久久国产精品99 gif | 国产精品黄色 | 另类二区 | 综合色播 | 国产精品成人国产乱一区 | www一区二区| 中文字幕一区在线观看视频 | 亚洲一区二区三区视频 | 一本色道久久综合狠狠躁篇怎么玩 | 中文字幕 在线观看 | 欧美精产国品一二三区 | 成人网址在线观看 | 亚洲麻豆 | 久久少妇免费看 | av综合站| 国产一级做a爰片在线看免费 | 欧美福利影院 | 国产亚洲网站 | 天堂精品 |