看板 Flash 關於我們 聯絡資訊
小的現在正看書學Flash 用的軟體是Flash MX 製作一個簡單的打地鼠遊戲 (不過小弟遊戲裡的地鼠是在螢幕上爬的) 現在遇到一個問題 功能如下: 用滑鼠點擊正在爬行中的某隻地鼠 接著地鼠死亡,播放該地鼠死亡的動畫 接著圖案消失 依循書上的指示 先選擇地鼠本身,接著設計程式碼如下: onClipEvent(mouseDown) { var hit hit = this.hitTest(_root._xmouse,_root._ymouse,true) if (hit) { this.gotoAndPlay("killed"); } } 這邊解釋一下: "killed"是一個影片元件裡的其中一影格的影格標籤 而該影片元件就是一段五格的死亡動畫 hit是拿來判斷用的變數 設計到這,出現了一個問題 地鼠依然沒死,照爬牠的 所以我就拿其他功能代替,尋找哪一行程式碼出錯 結果確認hit傳回的值是true 所以只剩一行出錯,就是 this.gotoAndPlay("killed"); 所以開始設法除錯 首先我懷疑在其他圖像或元件上設計的動作無法讀取元件內的影格標籤 而只能讀取場景的影格標籤 但這問題無法解決 所以後來我選擇另一種方式 就是移除地鼠爬行的動畫,接著放地鼠死亡的動畫到原地 所以我先在場景上放一個死亡動畫的元件,該元件標籤設為"kill" 接著回去點選原本放在場景中"爬行地鼠"元件,寫程式碼: if(hit) { kill.duplicateMovieClip(kill,1000); setProperty(kill,_x,this._x) setProperty(kill,_y,this._y) } 但測試後,發現死亡動畫仍然無法播放 在此請問大大幾個問題 1.書上寫的方法是否正確? 2.我所修改的方法是否可行? 3.或者大大如果不想修改我的方法,是否有更好的方法可用? 如有問題要先問我 小弟也會盡快回覆 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.90.145
jonathanmeow:基本上我測試你最前面那一段是可以跑的耶 02/21 20:55
jonathanmeow:但因為我不曉得你其他寫了些什麼所以不清楚問題在哪 02/21 20:55
jonathanmeow:倒是你之後寫的那個方法 那個if要時時都在判斷才行 02/21 20:55
jonathanmeow:否則只會在載入時判斷hit是否為真 那當然不可能為真 02/21 20:56
jonathanmeow:至於怎麼時時判斷 我可能會寫入onEnterFrame事件中 02/21 20:57
jonathanmeow:至於更好的方法...我在想可不可以用onPress來代替 02/21 20:57
jonathanmeow:代替"被按到"這件事..不過這是突發奇想 不曉得可行否 02/21 20:58
jonathanmeow:PS:最前面那個var hit少了; 但也可以跑耶 真奇怪... 02/21 20:58
jonathanmeow:PS2:真要抓到問題 還是要看原始檔吧? 02/21 20:59
musouex:謝謝大大,問題已解決...但很莫名的解決了...可能碰巧吧.. 02/22 12:31
jonathanmeow:可以分享一下經驗嗎?? :) 02/22 14:13