Re: [問題] flash中可設全域變數嗎?

看板Flash作者 (我是沒牌的營養師!)時間18年前 (2007/04/25 11:51), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《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
請問什麼是 "變數的scope" ?
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
文章代碼(AID): #16Bj1SXD (Flash)
文章代碼(AID): #16Bj1SXD (Flash)