Re: [問題] 變數的有效範圍?

看板Flash作者 (澪澪)時間18年前 (2007/08/22 16:05), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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
小技巧:在Flash版搜尋中英文關鍵字
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
文章代碼(AID): #16o-vCoK (Flash)
討論串 (同標題文章)
文章代碼(AID): #16o-vCoK (Flash)