Download presentation
Presentation is loading. Please wait.
Published by温确 满 Modified 8年之前
1
打地鼠 互動遊戲設計 12/23 陳奕廷
2
目錄 打地鼠在教育上的應用 ( 資訊展心得 ) 打地鼠遊戲介紹 (1) 加入開始結束畫面、槌子、地鼠 (2) 加入遊戲程式碼 (3) 加入計時器、記分器 (4) 加入遊戲進階關卡、加速、扣分機制 打地鼠遊戲延伸
3
打地鼠在教育上的應用 資訊展心得 創新發現誌 p108
4
開始製作打地鼠遊戲 完成版 ( 使用按鈕 ) 完成版 ( 使用按鈕 ) 完成版 ( 使用 hitTest)- 效果較佳 下載原始檔 下載原始檔
5
遊戲架構 說明畫面 | 開始 ( 初始化 ) | 開始遊戲 | 遊戲時間過一半 ( 加速 ) | 結束遊戲
6
加入開始說明與結束說明畫面 本遊戲的主場景,只使用到三個影格 第一影格 : 遊戲說明畫面(影格標籤 - 遊戲說明) 第二影格 : 遊戲執行畫面(影格標籤 - 開始遊戲) 第三影格 : 遊戲結束畫面(影格標籤 - 結束遊戲) 可在最前再加入載入畫面影格
7
// 第一影格上(遊戲開始說明) stop(); start_btn.onPress = function() { gotoAndStop( " 開始遊戲 " ); };
8
// 第三影格上(遊戲結束記分) stop(); replay_btn.onPress = function() { gotoAndStop( “ 遊戲說明 " ); };
9
加入計分與計時文字欄位 以及舞台上加入兩個動態 text 欄位
10
加入槌子游標動畫 // 第二影格上 ( 遊戲執行影格 ) Mouse.hide(); hammer_mc.startDrag(true); hammer_mc.onPress = function() { this.gotoAndPlay(2); }; // 在 hammer_mc 影片片段中,注意中心點之位置
11
加入地鼠洞動畫, 隨機出洞程式 // 依序取實體名稱為 h1_mc,h2_mc … _root.onEnterFrame = function() { hole_no=Math.floor(Math.random()*6+1); this["h"+hole_no+ “ _mc"].play(); };
13
加入擊中區域 // 必須在地鼠的頭上,加入擊中區域,使其 能夠和 hammer 做 hitTest 判別
14
加入打中地鼠涵式 function hit(hitTarget:MovieClip) { if (hammer_mc.hitTest(hitTarget.bear.hitarea)) { //trace("hit"); hitTarget.gotoAndPlay(" 擊中 "); txtScore += 1; score_txt.text=txtScore }
15
呼叫 hit() 涵式 // 在 hammer_mc 的 onPress 涵式中呼叫打中地鼠 涵式 hit( 地洞實體名稱 ) hammer_mc.onPress = function() { this.gotoAndPlay(2); hit(h1_mc); hit(h2_mc); hit(h3_mc); hit(h4_mc); };
16
加入分數與時間初始值變數 // 在 [ 遊戲開始 ] 影格上加入 txtScore = 0; txtSeconds = 60;
17
倒數計時涵式 function time() { txtSeconds -= 1; time_txt.text = txtSeconds; if (txtSeconds == 0) { gotoAndStop(3); } time(); setInterval(time,1000);
18
加入計分器 score_txt.text=txtScore // 在 hit() 涵式中
19
加入時間過半,地鼠加速程式 將隨機變數改成 Level = 200; Level2=12; 在時間涵式中加入 function time() { txtSeconds -= 1; time_txt.text = txtSeconds; if (txtSeconds<30) { Level = Level2; } if (txtSeconds == 0) { gotoAndStop(3); }
20
扣分機制 在小熊中加入另一個 hitArea
21
打地鼠延伸遊戲 槍戰遊戲 兩人對戰遊戲
Similar presentations