看板 Flash 關於我們 聯絡資訊
大家好 我想用if判斷變數後來轉換場景 做法是,(我是用AS 2.0) 1.場景的第一格寫下 var g=0; 2.動畫跑到最後一格後,在最後一格上面寫 onEnterFrame = function () { if (g == 1) { gotoAndPlay("展覽簡介", 1); } if (g == 2) { gotoAndPlay("慕夏生平", 1); } if (g == 3) { gotoAndPlay("代表作", 1); } if (g == 4) { gotoAndPlay("紀念品", 1); } }; 3.各自按鈕上寫 on (release) { g = 1; gotoAndPlay(37); } (四個按鈕類推) 場景是換了,也執行的正常 但是作到一半測試發現 轉換後他會停留在的場景"第一格",正常來講應該要繼續撥放直到碰見stop()吧... 我用的是gotoAndPlay 1.改成Play也沒用, 2.利用影格標籤也沒用 3.在場景的第一格增加Play也沒用Orz 4.爬文加_root....也沒用 (爬文發現我很久以前問過類似的問題,沒有人理我||||) 附上原始檔,請好心人幫我看看到底是什麼問題吧> < http://www.2shared.com/file/i0-g9Nt_/_online.html 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.99.130 ※ 編輯: oj113068 來自: 218.162.99.130 (07/11 02:28) ※ 編輯: oj113068 來自: 218.162.99.130 (07/11 02:30) ※ 編輯: oj113068 來自: 218.162.99.130 (07/11 02:31) oj113068:轉錄至看板 Digital_Art 07/11 02:52
Esvent:因為你是用onEnterFrame來判斷是否呼叫gotoAndPlay 07/11 03:33
Esvent:所以只要開始偵聽onEnterFrame後 每跑一個影格那個function 07/11 03:35
Esvent:就會被呼叫一次 也就是說在每進入一個影格時 都會gotoAndPl 07/11 03:36
Esvent:ay到第一個影格 所以才會一直停在第一個影格上 07/11 03:37
Esvent:把onEnterFrame去掉即可 07/11 03:41
oj113068:!!!!!我以為寫在最後一格的話他不會影響前面Orz 07/11 11:13
oj113068:我試試看,謝謝你!! 07/11 11:13
oj113068:去掉onEnterFrame之後雖然會撥放,但場景的轉換不正確 07/11 11:17
kawasumimai:去掉onEF之後加上_root吧 07/11 11:31
oj113068:沒用T__T 你是說改成 _root.gotoAndPlay吧? 07/11 11:40
kawasumimai:不是...是你所有的g都要改成_root.g 07/11 11:51
kawasumimai:因為你主時間軸判定的是_root.g,按鈕的不是 07/11 11:51
oj113068:結果好像是我函式沒命名Orz? 07/11 11:54
Esvent:去掉onEnterFrame是onEnterFrame = function() { 整個去掉 07/11 14:03
Esvent:只留下if就可以了 測試是不用加_root也可以跑 07/11 14:04
Esvent:啊 是說場景轉換不正確 這個我就沒有注意到了 07/11 14:06
Esvent:或許試著將按鈕命名 並把所有程式碼都寫在第一格就可以運作 07/11 14:08
oj113068:我想我是基礎觀念有問題|||我解決了 謝謝你們 07/11 14:44
就像E大說的,如果想都寫在最後一格的話,直接用if 要用function()的話,寫在第一個場景的第一格 最後再呼叫就好了(倒地) 謝謝大家........ ※ 編輯: oj113068 來自: 218.162.99.130 (07/11 14:45)