Re: [問題] 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
推
04/25 15:58, , 1F
04/25 15:58, 1F
推
04/25 16:03, , 2F
04/25 16:03, 2F
→
04/25 16:04, , 3F
04/25 16:04, 3F
→
04/25 16:05, , 4F
04/25 16:05, 4F
→
04/25 16:07, , 5F
04/25 16:07, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 4 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章