作者aquarianboy (我是没牌的营养师!)
看板Flash
标题Re: [问题] flash中可设全域变数吗?
时间Wed Apr 25 11:51:53 2007
※ 引述《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
1F:推 etrexetrex:请问什麽是 "变数的scope" ? 04/25 15:58
2F:推 jing007:老实讲,我的做法就是这样的,不过可能是观念上不太清楚, 04/25 16:03
3F:→ jing007:所以我是用东抄一点西抄一点的方式来拼成的程式,像我做的 04/25 16:04
4F:→ jing007:的轴就是参考声音大小的观念去改的…不过还是有很多程式要 04/25 16:05
5F:→ jing007:再大幅修改才行... 04/25 16:07