看板 Flash 關於我們 聯絡資訊
小弟初學flash 遇到了瓶頸 來請問一下 onClipEvent (load) { b=150;} onClipEvent (enterFrame) { if(b>0){ this.gotoAndStop("boss_move"); b--;} else { this.gotoAndStop("boss_attack"); b=b+150;} trace (b);} 上面是原始碼 遇到的問題就是 第一次跑的時候boss_move跟boss_attack都有播放 可是跑過一遍後就不會在播放了 看著b從150跑到0又變成150 確定if有動作但影片片段卻沒變 想不出原因 可以幫忙解惑一下嗎 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.11.230
aquarianboy:附個原始檔吧 06/30 01:17
yank0323:就.是不是操控影片片段的指令 在迴圈裡只能動一次呢? 06/30 01:31
yank0323:剛剛才發現我沒存檔= = 慘了.. 06/30 01:32
yank0323:http://www.badongo.com/file/25538113 原始檔來了 06/30 01:48
KawasumiMai:請愛用mediafire,badongo已經不是很方便的免空 06/30 01:49
yank0323:喔喔 好的 那我在去試試 06/30 01:51
yank0323:http://www.mediafire.com/?ppki4m9tis9nhg8 這樣 @@ 06/30 01:56
KawasumiMai:我想吐槽一下,你的程式碼寫的是move跟attack 06/30 02:02
KawasumiMai:但是標籤寫的是wait attack跟dead 06/30 02:03
yank0323:樓上說的已經更改了 可是還是只動一次 06/30 02:14
KawasumiMai:印象中已經載入的mc宣告stop之後 06/30 02:23
KawasumiMai:在沒有reload的前提之下,就算重新顯示也會維持原狀態 06/30 02:23
KawasumiMai:換句話說你的wait跟attack子mc都有stop過 06/30 02:24
KawasumiMai:如果重新宣告跑到wait跟attack 06/30 02:25
KawasumiMai:子mc也要呼叫一次gotoAndPlay(1)的樣子 06/30 02:25
KawasumiMai:(不確定是不是這個原因,記得以前遇過類似問題 06/30 02:25
KawasumiMai:你可以把三個影格的mc都取作main 06/30 02:26
KawasumiMai:this.main.gotoAndPlay(1) 06/30 02:27
KawasumiMai:但是要注意的是你的wait呼叫了150次 06/30 02:30
KawasumiMai:會因此卡在第一格,可能弄個boolean會比較好 06/30 02:30
KawasumiMai:事實上設定b==150的時候才移動影格會嚴謹得多 06/30 02:30
yank0323:把三個都設定一樣的名字後 連動也不會動了 06/30 02:37
KawasumiMai:http://www.mediafire.com/?8kk0hpi013cjjcf 06/30 02:39
KawasumiMai:CS4的版本,我有修改實體名稱跟enterframe那段 06/30 02:40
KawasumiMai:不知道是不是你要的效果 06/30 02:40
KawasumiMai:順帶一提,你的attack只有維持瞬間的時間 06/30 02:40
KawasumiMai:所以attack的動畫有跟沒有一樣 06/30 02:40
KawasumiMai:想做act可以問問hirabbitt大,他最近也在寫 06/30 02:43
KawasumiMai:就判定跟移動的流暢度也許你可以請教一下 06/30 02:43
yank0323:感謝回答 我看懂了 :) 06/30 02:49
yank0323:至於流暢度跟判定 我真的需要請教了 :) 06/30 02:51
yank0323:對了 剛發現一個問題就是 06/30 03:03
yank0323:如果我只有用attack 把wait拿掉來看 06/30 03:05
yank0323:攻擊動作也有幾秒鐘 反之拿另外一個 也是有動作 06/30 03:06
yank0323:但就是兩個放一起 就卡卡的 這是什麼原因呢? 06/30 03:06
KawasumiMai:你要了解到你寫的程式中,何時呼叫切換影格 06/30 03:11
KawasumiMai:目前很大的一個問題是,你attack只有在0的時候 06/30 03:11
KawasumiMai:b+=150之後,第二趟>0就會切掉了(wait沒拿掉的情況) 06/30 03:12
KawasumiMai:因此放在一起的時候attack就會出問題 06/30 03:12
KawasumiMai:之所以拿掉wait會變順,你要了解到底是因為b維持在0 06/30 03:13
KawasumiMai:還是因為wait拿掉之後就算b+=150也沒有切換影格的動作 06/30 03:13
KawasumiMai:才因此停在attack讓你看到他的動作的? 06/30 03:14
yank0323:原來有這層涵義 完全沒發現到B值一變 就馬上變換影格了 06/30 03:24
yank0323:所以才需要延遲時間去跑 不然狀態切換太快就會造成 06/30 03:26
yank0323:影格卡卡的 06/30 03:26