作者yank0323 (IUTD)
看板Flash
標題[問題] 影片片段跑一次就不動了
時間Thu Jun 30 01:16:15 2011
小弟初學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
1F:→ aquarianboy:附個原始檔吧 06/30 01:17
2F:→ yank0323:就.是不是操控影片片段的指令 在迴圈裡只能動一次呢? 06/30 01:31
3F:→ yank0323:剛剛才發現我沒存檔= = 慘了.. 06/30 01:32
5F:推 KawasumiMai:請愛用mediafire,badongo已經不是很方便的免空 06/30 01:49
6F:→ yank0323:喔喔 好的 那我在去試試 06/30 01:51
8F:推 KawasumiMai:我想吐槽一下,你的程式碼寫的是move跟attack 06/30 02:02
9F:→ KawasumiMai:但是標籤寫的是wait attack跟dead 06/30 02:03
10F:→ yank0323:樓上說的已經更改了 可是還是只動一次 06/30 02:14
11F:推 KawasumiMai:印象中已經載入的mc宣告stop之後 06/30 02:23
12F:→ KawasumiMai:在沒有reload的前提之下,就算重新顯示也會維持原狀態 06/30 02:23
13F:→ KawasumiMai:換句話說你的wait跟attack子mc都有stop過 06/30 02:24
14F:→ KawasumiMai:如果重新宣告跑到wait跟attack 06/30 02:25
15F:→ KawasumiMai:子mc也要呼叫一次gotoAndPlay(1)的樣子 06/30 02:25
16F:→ KawasumiMai:(不確定是不是這個原因,記得以前遇過類似問題 06/30 02:25
17F:→ KawasumiMai:你可以把三個影格的mc都取作main 06/30 02:26
18F:→ KawasumiMai:this.main.gotoAndPlay(1) 06/30 02:27
19F:推 KawasumiMai:但是要注意的是你的wait呼叫了150次 06/30 02:30
20F:→ KawasumiMai:會因此卡在第一格,可能弄個boolean會比較好 06/30 02:30
21F:→ KawasumiMai:事實上設定b==150的時候才移動影格會嚴謹得多 06/30 02:30
22F:→ yank0323:把三個都設定一樣的名字後 連動也不會動了 06/30 02:37
24F:→ KawasumiMai:CS4的版本,我有修改實體名稱跟enterframe那段 06/30 02:40
25F:→ KawasumiMai:不知道是不是你要的效果 06/30 02:40
26F:→ KawasumiMai:順帶一提,你的attack只有維持瞬間的時間 06/30 02:40
27F:→ KawasumiMai:所以attack的動畫有跟沒有一樣 06/30 02:40
28F:→ KawasumiMai:想做act可以問問hirabbitt大,他最近也在寫 06/30 02:43
29F:→ KawasumiMai:就判定跟移動的流暢度也許你可以請教一下 06/30 02:43
30F:→ yank0323:感謝回答 我看懂了 :) 06/30 02:49
31F:→ yank0323:至於流暢度跟判定 我真的需要請教了 :) 06/30 02:51
32F:→ yank0323:對了 剛發現一個問題就是 06/30 03:03
33F:→ yank0323:如果我只有用attack 把wait拿掉來看 06/30 03:05
34F:→ yank0323:攻擊動作也有幾秒鐘 反之拿另外一個 也是有動作 06/30 03:06
35F:→ yank0323:但就是兩個放一起 就卡卡的 這是什麼原因呢? 06/30 03:06
36F:推 KawasumiMai:你要了解到你寫的程式中,何時呼叫切換影格 06/30 03:11
37F:→ KawasumiMai:目前很大的一個問題是,你attack只有在0的時候 06/30 03:11
38F:→ KawasumiMai:b+=150之後,第二趟>0就會切掉了(wait沒拿掉的情況) 06/30 03:12
39F:→ KawasumiMai:因此放在一起的時候attack就會出問題 06/30 03:12
40F:→ KawasumiMai:之所以拿掉wait會變順,你要了解到底是因為b維持在0 06/30 03:13
41F:→ KawasumiMai:還是因為wait拿掉之後就算b+=150也沒有切換影格的動作 06/30 03:13
42F:→ KawasumiMai:才因此停在attack讓你看到他的動作的? 06/30 03:14
43F:→ yank0323:原來有這層涵義 完全沒發現到B值一變 就馬上變換影格了 06/30 03:24
44F:→ yank0323:所以才需要延遲時間去跑 不然狀態切換太快就會造成 06/30 03:26
45F:→ yank0323:影格卡卡的 06/30 03:26