亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

Flash AS學(xué)習(xí):for循環(huán)與退出循環(huán) -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.ishadingyu.com - 電腦資料】

    循環(huán)

    演示效果:

   

    點(diǎn)擊這里下載源文件

    使用for 是優(yōu)化AS的重要手段,

Flash AS學(xué)習(xí):for循環(huán)與退出循環(huán)

。如果我們要對(duì)20個(gè)MC實(shí)現(xiàn)響應(yīng)鼠標(biāo)點(diǎn)擊事件,如果不用for而直接寫(xiě)那么需要幾十乃至幾百行,而用for只需要用幾行就可以了?次覀儗(shí)現(xiàn)這樣的效果: 對(duì)舞臺(tái)上的20個(gè)MC點(diǎn)擊,在MC中的動(dòng)態(tài)文本中顯示出該MC的實(shí)例名.

    步驟:1、 制作一個(gè)MC,MC中包含一個(gè)動(dòng)態(tài)文本,實(shí)例名為txt。

    2、按住ctrl,拖動(dòng)復(fù)制出20個(gè)MC出來(lái)。

    3、為每個(gè)MC輸入實(shí)例名mc0、mc1、mc2...mc19,然后選中楨,打開(kāi)動(dòng)作面板,輸入以下語(yǔ)句。

    mc0.onPress = function() {

    this.txt.text = this._name;

    };

    mc1.onPress = function() {

    this.txt.text = this._name;

    };

    .....

    mc19.onPress = function() {

    this.txt.text = this._name;

    };

    以上語(yǔ)句共60行,實(shí)現(xiàn)了點(diǎn)擊MC,在MC中的動(dòng)態(tài)文本txt中顯示該MC的實(shí)例名,如果有100個(gè)MC,那么照這樣就需要300行,挺嚇人的。現(xiàn)在用for幾行搞定。

    for(var i=0;i<20;i++){

    this["mc"+i].onPress=function(){

    this.txt.text=this._name

    }

    }

    我們分析一下這個(gè)for是怎樣解決問(wèn)題的:for(var i=0;i<20;i++)共會(huì)讀取20次,第一次i=0;檢查i是否小于20,檢查到符合條件,執(zhí)行i++,于是i=1了,然后執(zhí)行{}中的語(yǔ)句;第二次i=1;檢查i是否小于20,檢查到符合條件,執(zhí)行i++,于是i=2了,然后執(zhí)行{}中的語(yǔ)句;第三次i=2;檢查i是否小于20,檢查到符合條件,執(zhí)行i++,于是i=3了,然后執(zhí)行{}中的語(yǔ)句;......第二十一次i=20;檢查i是否小于20,檢查到不符合條件,執(zhí)行i++,于是i=21了,此時(shí)循環(huán)結(jié)束,退出循環(huán)。

    第一次執(zhí)行的程序即是

    this["mc"+0].onPress=function(){//同this.mc0.onPress=function()

    this.txt.text=this._name

    }

    第二次執(zhí)行的程序即是

    this["mc"+1].onPress=function(){//同this.mc1.onPress=function()

    this.txt.text=this._name

    }

    第三次執(zhí)行的程序即是

    this["mc"+2].onPress=function(){//同this.mc2.onPress=function()

    this.txt.text=this._name

    }

    ......

    由此,我們可以看到,for對(duì)于簡(jiǎn)化語(yǔ)句有非常重要的作用,適用for適用于MC的實(shí)例名是連續(xù)的情況,即mc0、mc1、mc2...,如果MC的實(shí)例名不是連續(xù)的,那么可以利用數(shù)組來(lái)解決這個(gè)問(wèn)題,首先將MC的實(shí)例名作為數(shù)組中的元素,然后進(jìn)行調(diào)用,如下:

    var myarr=["mc0","mc1",""mc2","mc3"....]

    for(var i=0;i<20;i++){

    this[myarr[i]].onPress=function(){

    this.txt.text=this._name

    }

    }

    以上介紹了for的使用,現(xiàn)在介紹一下如何中途退出for循環(huán),如果我們只對(duì)10個(gè)MC進(jìn)行讀取,那么

    for (var i = 0; i<20; i++) {

    if (i>=10) {

    break;

    }

    this["mc"+i].onPress = function() {

    this.txt.text = this._name;

    };

    }

    如果我們只不讀取第10個(gè),那么

    for (var i = 0; i<20; i++) {

    if (i == 10) {

    continue;

    }

    this["mc"+i].onPress = function() {

    this.txt.text = this._name;

    };

    }

最新文章