日本a在线观看_久久久三区_久久99精品久久久久久国产越南_在线观看中文字幕av_国产精品久久久久久久久久东京_a免费视频

PS設計教程網歡迎你!

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

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

圖13-5 手型

(6)下面先編寫已經創建的元件擴展類“FLY” ,該類接收一個Number類型參數,將其賦值作為該類產生對象的y軸方向上的遞減值,如第16行代碼所示,通過在構造函數中為其注冊ENTER_FRAME事件偵聽,使該類對象在被創建時便執行事件偵聽器函數enterFrameHandler ,也就是所創建的每一只喜鵲都以某一速度(變量speed值)作向上運動。此外,該類還提供兩個方法:removeTimerHandler()用于清除事件偵聽器函數,這在該類對象被刪除時會被調用(刪除不必要的事件偵聽);另一個方法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("清除實例事件");   
        }   
           
        public function get flySpeed():Number{   
            return this._speed;   
        }   
           
    }   
}

 

(7)下面是主程序類的編寫,我們在構造函數初始化舞臺的寬度和高度,并創建存儲所有喜鵲對象的容器,如第22到25行代碼所示。在第27到31行代碼隱藏系統鼠標并創建“手型”,通過偵聽stage對象的MOUSE_MOVE和MOUSE_DOWN事件來控制“手型”的鼠標跟隨stageMoveHandler()和狀態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()方法是簡單的鼠標跟隨,stageDownHandler()方法是當用戶鼠標點擊時播放步驟(5)中的“手型”影片剪輯動畫,產生“抓”的動作效果。 init()方法中開始初始化該游戲,主要是將displayGrade_txt顯示文本的內容設置為0和為開始按鈕注冊事件偵聽器函數。當用戶單擊start_btn按鈕后,便調用startGame()方法,此時,將結束游戲按鈕out_btn 設置為可見,并注冊事件偵聽器函數,如第59、60行代碼所示。然后通過創建Timer類對象實例進行計時,每隔500毫秒執行一次copy()偵聽器函數,也就是創建一只喜鵲對象,如第62到64行代碼所示。第65行將start_btn按鈕設置為不可見。

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

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

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

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;   
}

 

版權所有PS設計教程網公安備案:蘇公網安備 32058302001023號工信部備案:滬ICP備09005587號
aaa
主站蜘蛛池模板: 欧美毛片在线观看 | 日本黄色大片免费 | 毛片视| 曰批全过程120分钟免费69 | 久久综合给合久久狠狠狠97色69 | 北原夏美av| 美女亚洲| 国产亚洲欧美日韩在线观看不卡 | 黄色片视频观看 | 欧美色性 | 久久精品视频69 | 国产一级小视频 | 污污网站入口 | 亚洲国产在 | 中国hdxxxx护士爽在线观看 | 91美女视频在线观看 | 视频一区二区国产 | 国产99久久精品 | 国产91九色| 成年人黄色免费电影 | 成人午夜视频在线观看免费 | 国产午夜亚洲精品 | 精品国产91久久久久久浪潮蜜月 | 最新在线黄色网址 | av免费在线网站 | 免费人成在线播放 | 免费国产自久久久久三四区久久 | 性毛片视频| 二区三区四区视频 | 欧美a视频在线观看 | 久久久精品视频国产 | 国产成人综合在线观看 | 九艹在线 | 青草视频在线观看视频 | 在线看一区二区三区 | 成人毛片视频免费看 | 成熟女人特级毛片www免费 | 黄在线看 | a黄色网 | 成人午夜免费福利 | 亚洲三区精品 |