看板 Flash 關於我們 聯絡資訊
※ 引述《jing007 (嗚~合購版讓我變肥肥肥豬)》之銘言: : 我是做音樂播放器 現卡在播放的軸不能拉  : 即使能拉也不能唱 不然就是一直重頭播 重頭播的....每拉一次就重頭播 : 我做了Press(一個函式)去抓軌道的值稱x : 而onMouseUp(一個函式)時便將x值放入播放音樂的函式中 : 但是偵測時 發現在onMouseUp卻是無定義的值 : flash有全域變數的宣告方式嗎? : 另有沒有其他方式能製作這個軸.... 我想會抓到undefined的值,是因為scope不對的關係 例如在onMouseUp裡定義的變數,通常只能在該事件的範圍內才"看"得到 除非像s大提到用_global來宣告全域變數 另外,把變數全部丟到_root上也是ok 但比較容易出問題的是 例如你在你的swf中宣告了一個叫_root.xxx的變數 剛好別人也宣告了一個xxx的變數,然後把你的檔案包進來 就有可能會發生看起來莫名奇妙的bug了 所以全域型態的變數,在使用的時候盡量小心或是命名命的奇怪一點,減少重複的機會 (建議是盡量少用...^^) 比較建議的方法,是把程式碼寫在時間軸上,而不要寫在Button或MC上 例如原本on(release){...},改成abc_mc.onRelease = function(){...} 一開始可能不太習慣 習慣這樣的寫法之後,在程式碼的控管上會輕鬆得多,不用一層一層的找程式碼 而且這樣的做法,變數的scope就會在時間軸上了 不用_global或_root的方法,都可以比較容易抓到了 供你參考 :) -- http://www.eddie.com.tw/blog/ http://www.eddie.com.tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.136.105
etrexetrex:請問什麼是 "變數的scope" ? 04/25 15:58
jing007:老實講,我的做法就是這樣的,不過可能是觀念上不太清楚, 04/25 16:03
jing007:所以我是用東抄一點西抄一點的方式來拼成的程式,像我做的 04/25 16:04
jing007:的軸就是參考聲音大小的觀念去改的…不過還是有很多程式要 04/25 16:05
jing007:再大幅修改才行... 04/25 16:07