flash ascript (迴圈簡化)

_root 跟 this :  如果你對一個物件控制時 , 有時需要路逕

譬如 _root.main_mc.gotoAndStop()  或是  _parent.gotoAndPlay()
這些都是路逕的控制 , 只是一個是絕對路逕 一個是相對路逕

如果一個物件 與該語法 同層時 , 則可以省略 路逕 譬如:

gotoAndPlay();   or  main_mc.gotoAndPlay 
(別懷疑 它只是省略了 this.gotoAndPlay  ,   this.main_mc.got...................)

那你說到底 何時 一定強制要加this
就在它用迴圈去繞實體物件名稱或變數時 , 這就變成了關鍵

你有 10個按紐 名稱為 bt1  bt2  bt3 ......bt10 ,

傳統作法

bt1.onPress=function(){   }<---來觸發事件
bt2.onPress=function(){   }
bt3.onPress=function(){   }

 一個一個寫太隴長又費時 , 因此我們用迴圈來繞

for(i=1;i<=10;i++){
this[ "bt" + i ].onPress=function(){}
}

注意到了 前面開頭  [  ]  它前面一定得加東西 ,
不論是 加_root 或是 this

今天它語法跟物件同層 this也可改成_root

  • 留言者: icq11932006
  • Email:
  • 網址:
  • 日期: 2010-06-23 05:33:08
那麼,function名字也可以用迴圈嗎

//自訂myFn是變數,此方法好像不可行 >_<

for(i=1;i<=10;i++){

var myFn:String;

myFn= test+i;

this[ "bt" + i ].onPress=function myFn(){}

}

沒有留言:

張貼留言