Re: [問題] 變數的有效範圍?
※ 引述《Geniepotato (歐買尬...)》之銘言:
: 其實這個問題我一直都沒搞懂 按F1也沒得到什麼答案
: 就是譬如說我在時間軸上設定了一個變數xxx
: 那這個變數在哪些地方是有效範圍呢?
: 有幾種情況
: 1.時間軸裡的自訂函數 <~這應該是不行啦我想要用傳進去的
: 2.時間軸下一格 <<~ 似乎讀不到要用_global?
: 3.某個MovieClip <~不知道
: 這樣看起來好像要用到全域變數的機率相當大啊 我現在寫一個Flash
: 我發現幾乎所有的變數都要用到_global
: 這樣相當的笨啊 想離清一下觀念 我覺得我觀念有點錯誤
: 感謝各位喔
我用我理解的部份回答看看 ^^
基本上,位在同一個時間軸上的變數會一直存在,除非把那個元件移除
例1:在主場景上的時間軸宣告後的變數
該變數就會一直存在在場景上
用影像的概念來看,就有點像是把元件從元件庫拿出放到場景上
直到把他移除,不然它會一直存在
宣告很重要
如果因為按鈕或其他因素跳過宣告的那個影格
就很容易造成錯誤
而該變數的位置就是_level0.變數.值
可以使用相對路徑或絕對路徑取得或改變這個變數值
例2:宣告在元件裡的變數(AS3.0不適用)
除了要在元件裡宣告變數外
那個元件也要命名
變數的位置是_level0.instance1.變數.值
同樣的,也可以用相對路徑或絕對路徑存取這個變數值
在命名上,避免使用中文,數字開頭的變數名or系統內定字
而相同名字的變數若重複宣告
則會以最後宣告時的數值為準
(譬如說在相同時間軸重複宣告的話,先宣告的會失效)
但不同時間軸的相同命名則不會有這樣的問題
依上例延伸
兩個元件裡相同命名的變數
_level0.instance1.變數.值
_level0.instance2.變數.值
就很像是不同資料夾裏相同檔名的文件
並不會被覆蓋
例3:函式裡的變數
這我不太會解釋耶XD
該變數基本上存在在function裡
可以改變時間軸裡的變數
......and我不會說了
原PO的問題:
: 有幾種情況
: 1.時間軸裡的自訂函數 <~這應該是不行啦我想要用傳進去的
可以用function functionName(xx:Number){
xx ++//就可以把變數傳進函式裡使用
}
使用的時候只要寫 functionName(變數)
就變數就會在函式裡跑了
還有傳回值return....這個我不太懂
不知道有沒有人可以幫忙回答
也一解我的疑惑
因為我不知道什麼時候要或不要用return
查了F1也不是很清楚
: 2.時間軸下一格 <<~ 似乎讀不到要用_global?
嗯嗯~因為是同一直間軸(例1)
: 3.某個MovieClip <~不知道
把他命名就可以控制變數囉(例2)
: 這樣看起來好像要用到全域變數的機率相當大啊 我現在寫一個Flash
: 我發現幾乎所有的變數都要用到_global
: 這樣相當的笨啊 想離清一下觀念 我覺得我觀念有點錯誤
: 感謝各位喔
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.56.129.200
※ 編輯: Angelliya 來自: 61.56.129.200 (08/22 16:11)
※ 編輯: Angelliya 來自: 61.56.129.200 (08/22 16:12)
→
08/22 16:14, , 1F
08/22 16:14, 1F
→
08/22 16:15, , 2F
08/22 16:15, 2F
→
08/22 16:15, , 3F
08/22 16:15, 3F
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章