1 add Event ListenerEvent ENTERFRAME loading loading stop

  • Slides: 22
Download presentation

影格 1_載入進度 add. Event. Listener(Event. ENTER_FRAME, loading); //註冊影格事件函數 loading(),執行程式載入進度 stop(); //時間軸停只播放,直到載入完成 100% function loading(event:

影格 1_載入進度 add. Event. Listener(Event. ENTER_FRAME, loading); //註冊影格事件函數 loading(),執行程式載入進度 stop(); //時間軸停只播放,直到載入完成 100% function loading(event: Event) { //影格事件偵聽處理函數loading() var loaded: int = this. root. loader. Info. bytes. Loaded; //取得loader. Info目前載入位元組數bytes. Loaded var total: int = this. root. loader. Info. bytes. Total; //取得loader. Info屬性總位元組數bytes. Total var percentage: int = Math. round((loaded /total) * 100); //計算上述整數值的載入進度百分比 loading_mc. percent_txt. text = percentage + “%”; //設定載入進度實體loading_mc內的載入百分比動態 //文字percent_txt loading_mc. bar_mc. scale. X = percentage/100; //使用進度百分比設定loading_mc內的bar_mc實體水平 //倍數scale. X ,使其隨百分比增加而向右伸長 if ( percentage == 100 ) { //判斷百分比等於 100及載入完成 remove. Event. Listener(Event. ENTER_FRAME, loading); //移除此事件函數 goto. And. Play(2); } } //時間軸播放至影格 2,進入真正程式

var top. Score, score: String; //宣告最佳成績與計時String類型變數 var data_so: Shared. Object = Shared. Object. get.

var top. Score, score: String; //宣告最佳成績與計時String類型變數 var data_so: Shared. Object = Shared. Object. get. Local(“highscore”); //建立Shared. Object 類別物件data_so, //呼叫Shared. Object. get. Local()方法,取得命名為highscore的共享物件 //設定最佳成績紀錄方法 記錄初始值或取最佳成績 if ( data_so. data. score != undefined ) { //如果上面data_so實體data的score數值並非尚未 初始化 //表示score資料存在 top. Score = data_so. data. score; } else { top. Score = “ 00: 00”; data_so. data. score = “ 00: 00”; //則最佳成績直接取得 //否則必須建立初始資料 //設定初始值 //初始化SO資料 } top. Score_txt. text = top. Score; //將上面最佳成績更新舞台上動態文字欄位

var my. Timer: Timer = new Timer(100); //建立Timer計時器類別實體my. Timer 參數設定 100表示每 0. 1秒執行一次 my.

var my. Timer: Timer = new Timer(100); //建立Timer計時器類別實體my. Timer 參數設定 100表示每 0. 1秒執行一次 my. Timer. add. Event. Listener(Timer. Event. TIMER, my. Timer. Func); //註冊事件偵聽處理函數my. Timer. Func() 處理遊戲的計時 function my. Timer. Func(event: Event) { //設定函數my. Timer. Func()處理計時並更新動態文字 var micro_seconds: int = total_time + (get. Timer() - time_base); //計算開始計時後使用的毫秒數 //計時累計的毫秒數total_time //加上影片播放使用的毫秒數get. Timer() //扣除計時開始前的毫秒數time_base var second. Used: int = micro_seconds / 1000; //將上面取得值除 1000換算為int值秒數 var minutes: int = Math. floor(second. Used/60); //計算int值分鐘數 var hours: int = Math. floor(minutes/60); //計算int值小時數 var seconds: int = second. Used - minutes*60; //計算int值秒數 score = String(hours+100). substr(1, 2) + “: ” + String(minutes+100). substr(1, 2) + “: ” + String(seconds+100). substr(1, 2); //利用上面時、分、秒等數值取得計時字串 timer_txt. text = score; //更新計時動態文字timer_txt if ( minutes == 2 ) goto. And. Stop(“失敗”); //如果計時分鐘數等於 2則遊戲失敗 時間軸播放至失敗影格處理 }

var press 1, press 2: String; //宣告press 1、 press 2兩個String類型變數 做為兩次翻牌實體名稱 var figure 1,

var press 1, press 2: String; //宣告press 1、 press 2兩個String類型變數 做為兩次翻牌實體名稱 var figure 1, figure 2: int; //宣告figure 1、 figure 2兩個int類型變數 做為兩次翻牌實體圖片記錄 var press. Flag: Boolean; //宣告Boolean類型變數press. Flag, 設定true允許玩家翻牌可翻開一小段時間直至false var match: int = 0; //設定match為已成為完成配對 初始值為 0累計 var total_time: int = 0; //設定計時累計的毫秒數total_time 初值為 0 var time_base: int = get. Timer(); //取得影片播放的毫秒數time_base 做為計時開始前扣除時間 my. Timer. start(); //my. Timer計時器開始播放 即開始計時 function gen. Rnd(min, max, take. Out: int) { //產生不重複隨機亂數 var total: int = max - min + 1; var remain: int = total; for ( var i: int=1; i<=total; i++ ) { this["t" + i] = min + i - 1; } for ( i=1; i<=take. Out; i++ ) { var temp: int = Math. floor(Math. random()*remain + 1); this["data" + i] = this["t" + temp]; for( var j: int=temp; j<=(remain-1); j++ ) { this["t" + j] = this["t" + (j + 1)]; } remain--; } }

function show. Button(event: Mouse. Event) { //處理滑鼠滑入牌實體程序 var bc: int = event. current. Target.

function show. Button(event: Mouse. Event) { //處理滑鼠滑入牌實體程序 var bc: int = event. current. Target. bc; //取得事件物件的圖片編號 if ( bc > 0 ) { //如果圖片編號大於 0 及尚未翻開的牌 event. current. Target. button. Mode = true; } else { //將button. Mode設定為true //否則已翻開的牌不能再互動 event. current. Target. button. Mode = false; //將button. Mode設定為false } }

function remove. Event() { my. Timer. stop(); //處理遊戲結束後事項 //計時器停止播放 for ( i=1; i<=x_num; i++

function remove. Event() { my. Timer. stop(); //處理遊戲結束後事項 //計時器停止播放 for ( i=1; i<=x_num; i++ ) { //使用迴圈移除全部牌實體註冊的滑鼠事件函數 for ( j=1; j<=y_num; j++ ) { this["block" + i + "_" + j]. remove. Event. Listener(Mouse. Event. MOUSE_DOWN, click. Block); this["block" + i + "_" + j]. remove. Event. Listener(Mouse. Event. MOUSE_OVER, show. Button); } } } function game. Reset(event: Mouse. Event) { goto. And. Play("遊戲開始"); } //處理重玩按鈕按下後返回遊戲開始影格重玩遊戲