青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

教父的告白
一切都是紙老虎
posts - 82,  comments - 7,  trackbacks - 0

大家好,今天亦樂(lè)首次為大家?guī)?lái)flash actionscript轉(zhuǎn)載教程。首先聲明出處(我自己是沒(méi)時(shí)間寫(xiě)教程啦,要直接找我討論還好)

 版權(quán)聲明:轉(zhuǎn)載時(shí)請(qǐng)以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明
http://goday.blogbus.com/logs/14062836.html

 

今天,我也正式宣布,開(kāi)始成為閃客,以往對(duì)macromedia flash的許多頭疼問(wèn)題都被adobe解決了,以往一直否認(rèn)我喜歡做flash,現(xiàn)在總算可以為adobe flash 自豪。非常有系統(tǒng)的developing方式。RIA 平臺(tái), on screen project就不這里說(shuō)了。

 

這期帶來(lái)的是flash極重要元素之一,event事件。在游戲里就是所謂的Trigger. Adobe改良后的,大家謂稱的“冒泡機(jī)制”。有問(wèn)題歡迎發(fā)問(wèn)指教。

 

=思路大綱=

  1. ActionScript 2的問(wèn)題
  2. AS3解決問(wèn)題
  3. 結(jié)合問(wèn)題,說(shuō)明“冒泡”
  4. 冒泡的問(wèn)題所在以及解決方法


1 - ActionScript 2的問(wèn)題

stage里有一個(gè)mc,mc里有一個(gè)btn
點(diǎn)選mc實(shí)現(xiàn)拖動(dòng)mc,鼠標(biāo)松開(kāi)停止拖動(dòng)
點(diǎn)選mc實(shí)現(xiàn)mc隱藏。
最容易想到的方法,代碼如下:

mc.onPress = function() {
        this.startDrag();
};
mc.onRelease = function() {
        this.stopDrag();
};
mc.btn.onPress = function() {
        mc._visible=false
};

表面來(lái)看,這個(gè)思路是正確的。(實(shí)際上沒(méi)什么思路可言,很簡(jiǎn)單的方法。)
實(shí)際怎么樣?當(dāng)然是不能實(shí)現(xiàn)。
問(wèn)題:點(diǎn)擊btn,不能觸發(fā)btn的動(dòng)作!!!!
解釋:  因?yàn)閎tn處于mc內(nèi)部,mc被加上了事件以后,按照as2的事件機(jī)制,mc內(nèi)部的btn甚至是其他的元件都不能接受事件。或者可以認(rèn)為mc的事件覆蓋了mc中其他元件的事件。
從非冒泡機(jī)制來(lái)說(shuō),在btn上點(diǎn)擊鼠標(biāo),首先接受到點(diǎn)擊事件的自然是btn的上一層(也就是mc),然后才是btn元件。Mc先接受到點(diǎn)擊事件,觸發(fā)相關(guān)的函數(shù)。然后呢?我們要實(shí)現(xiàn)的點(diǎn)擊btn的效果沒(méi)了。我們可以認(rèn)為mc把我們的鼠標(biāo)點(diǎn)擊事件據(jù)為私有了,不再往下傳遞。(如果是冒泡機(jī)制的話,這個(gè)動(dòng)作就回繼續(xù)往下傳遞到btn,然后btn會(huì)執(zhí)行。)那么這種效果在as2中還能實(shí)現(xiàn)么?答案自然是肯定的,不過(guò)方法就復(fù)雜了。
這里就不討論了。As3已經(jīng)成為主流。
但是as3中的冒泡機(jī)制,讓我們可以簡(jiǎn)單的解決這樣的難題。

2 - AS3解決問(wèn)題

下面來(lái)看as3中怎么實(shí)現(xiàn)。
代碼如下:

import flash.events.*;
mc.addEventListener(MouseEvent.CLICK,mcfunction);
mc.btn.addEventListener(MouseEvent.CLICK,btnfucntion);

function mcfunction(event:MouseEvent) {
        trace("mc click");
}
function btnfucntion(event:MouseEvent) {
        trace("btn click");
}

 

看看代碼就覺(jué)得,好像沒(méi)用什么特別的解決方法,就加兩個(gè)偵聽(tīng)函數(shù),就搞定了。
這個(gè)代碼自然的不能再自然了,就好像做flash 先的安裝軟件一樣。
但是如此自然的代碼下面,使AS3的冒泡機(jī)制在提供支持。 

3 - 結(jié)合問(wèn)題,說(shuō)明冒泡機(jī)制:
Help中有一個(gè)冒泡機(jī)制的圖,相信大家都已經(jīng)看過(guò)了
這里我聯(lián)系實(shí)例,另外做一個(gè)圖,幫助各位理解。

2D2D13C9009ACC1FF3AADD80E5C4FB85 

上圖為as2中的執(zhí)行原理
下圖為as3中的執(zhí)行原理
 2D8D966808DAEEA2C9701B5E09B334FE 
上圖也就是在as3中實(shí)現(xiàn)我們文章開(kāi)始提出的例子的工作原理。
下面詳細(xì)描述一下

捕獲階段:
鼠標(biāo)在btn上發(fā)出點(diǎn)擊事件,首先捕捉到該事件的事stage.,然后事件往下傳遞到mc,再到btn..(如果鼠標(biāo)事件發(fā)生在btn按鈕中的一個(gè)label上,那么該事件還會(huì)繼續(xù)向下傳遞,直到找到label元件。)AS2中,一旦找到了可以相應(yīng)事件的函數(shù),就停止了,不會(huì)往下傳遞。這個(gè)道理應(yīng)該說(shuō)明白了
目標(biāo)階段
找到我們的鼠標(biāo)最底層的目標(biāo),也就是btn以后,那么就開(kāi)始執(zhí)行btn的偵聽(tīng)函數(shù)了。
    如果鼠標(biāo)事件發(fā)生的所在位置,是mc中的btn中的一個(gè)label。那么將先執(zhí)行l(wèi)abel的偵聽(tīng)函數(shù)。(當(dāng)然我們的例子中沒(méi)有l(wèi)abel)
冒泡階段:
執(zhí)行了目標(biāo)階段的偵聽(tīng)函數(shù)以后,開(kāi)始冒泡。
換一個(gè)說(shuō)法是,返回btn的父級(jí)元件mc,如果能找到相關(guān)的偵聽(tīng)函數(shù),那么就執(zhí)行,如果沒(méi)有,就繼續(xù)往上冒泡到btn的父級(jí)元件mc的父級(jí)元件stage。看能不能找到相關(guān)的偵聽(tīng)函數(shù)。

注意一個(gè):首先執(zhí)行的函數(shù)一定是目標(biāo)對(duì)象的偵聽(tīng)函數(shù)。就像我們上面的例子一樣,點(diǎn)擊btn會(huì)先trace(“btn click”),然后冒泡到mc,執(zhí)行trace(“mc click”)..然后繼續(xù)往上,如果stage我們也加一個(gè)偵聽(tīng)函數(shù),執(zhí)行語(yǔ)句,那么還會(huì)繼續(xù)執(zhí)行 trace(“stage click”).
到達(dá)stage頂層了,冒泡結(jié)束。
說(shuō)到這里,各位看官也應(yīng)該明白了as3的冒泡究竟是干什么用的了

4 - 冒泡的問(wèn)題所在以及解決方法
  冒泡也有問(wèn)題,并不是說(shuō)它有缺陷,因?yàn)槌霈F(xiàn)問(wèn)題無(wú)法避免。
  問(wèn)題在于,
  假如在上面的例子中,我們不想在點(diǎn)擊btn冒泡階段中執(zhí)行mc的偵聽(tīng)函數(shù),我們只想執(zhí)行btn的偵聽(tīng)函數(shù)。怎么解決?
同樣的問(wèn)題延伸出去,可以得到很多擴(kuò)展和應(yīng)用。
那么我們需要阻止他的冒泡的時(shí)候執(zhí)行相關(guān)的偵聽(tīng)函數(shù)。
Chm中的方法有

stopImmediatePropagation():void
防止對(duì)事件流中當(dāng)前節(jié)點(diǎn)中和所有后續(xù)節(jié)點(diǎn)中的事件偵聽(tīng)器進(jìn)行處理。
stopPropagation():void
防止對(duì)事件流中當(dāng)前節(jié)點(diǎn)的后續(xù)節(jié)點(diǎn)中的所有事件偵聽(tīng)器進(jìn)行處理。

用來(lái)修改我們上面的例子
代碼如下:

import flash.events.*;
mc.addEventListener(MouseEvent.CLICK,mcfunction);
mc.btn.addEventListener(MouseEvent.CLICK,btnfucntion);
function mcfunction(event:MouseEvent) {
        trace("mc click");
}
function btnfucntion(event:MouseEvent) {
        trace("btn click");
        event.stopPropagation();//修改在此處。簡(jiǎn)單一句,解決問(wèn)題
}

現(xiàn)在可以試試,點(diǎn)擊btn運(yùn)行得到的結(jié)果就是

代碼:
btn click

說(shuō)明,已經(jīng)防止了冒泡階段中對(duì)mc偵聽(tīng)函數(shù)的處理。也就沒(méi)有trace(“mc click”)了
As3事件機(jī)制遠(yuǎn)遠(yuǎn)不像這里寫(xiě)的那么簡(jiǎn)單,還有很多東西需要研究。
本文只為拋磚引玉,讓各位能先了解一下冒泡機(jī)制。
希望能多的朋友能提供相關(guān)的學(xué)習(xí)資料

posted on 2010-03-15 15:03 暗夜教父 閱讀(476) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): AS3

<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(2)

隨筆分類(lèi)

隨筆檔案

文章分類(lèi)

文章檔案

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美高清视频| 女女同性女同一区二区三区91| 亚洲福利精品| 亚洲图片你懂的| 欧美电影美腿模特1979在线看| 国产视频一区免费看| 亚洲免费观看高清完整版在线观看熊 | 亚洲午夜av| 欧美激情一区| 亚洲国产另类 国产精品国产免费| 香蕉成人久久| 在线视频日本亚洲性| 欧美日韩黄色大片| 在线中文字幕日韩| 99精品国产在热久久下载| 欧美精品九九99久久| 9l视频自拍蝌蚪9l视频成人| 欧美黄色免费| 欧美高清一区| 一片黄亚洲嫩模| 一区二区三区精品视频在线观看| 欧美高清一区| 在线视频一区二区| 在线一区二区日韩| 国产欧美一区二区精品仙草咪 | 亚洲国产精品成人va在线观看| 久久精品一本| 亚洲区国产区| 99在线精品观看| 国产伦精品一区二区三区| 欧美日韩综合视频网址| 99亚洲一区二区| 亚洲一区二区精品| 国产主播在线一区| 欧美激情一区二区三区全黄| 欧美福利视频在线| 亚洲欧美国产三级| 久久精品日产第一区二区三区| 亚洲第一视频| 一本色道久久综合狠狠躁篇怎么玩| 国产精品高潮在线| 久久综合中文字幕| 欧美日韩天堂| 久久在线精品| 欧美日韩高清在线观看| 久久av在线| 欧美激情视频在线免费观看 欧美视频免费一| 99re热这里只有精品视频| 亚洲伊人观看| 亚洲精品国产精品乱码不99按摩 | 欧美日韩中文字幕在线| 久久精品一二三区| 欧美破处大片在线视频| 久久狠狠婷婷| 欧美日韩成人一区二区三区| 欧美中文字幕精品| 欧美日韩国产综合视频在线观看中文| 欧美一区二区在线播放| 欧美激情精品久久久久久变态| 亚洲永久在线观看| 免费视频一区| 久久久成人精品| 欧美日韩精品福利| 卡通动漫国产精品| 国产精品一区在线播放| 一本色道久久综合一区| 久久九九全国免费精品观看| 国产精品激情| 一区二区三区在线观看欧美 | 另类综合日韩欧美亚洲| 国产精品久久7| 欧美日韩高清一区| 久热精品视频在线| 久久久久**毛片大全| 亚洲黄色毛片| 亚洲激情图片小说视频| 亚洲国产精品黑人久久久| 国内精品国产成人| 好吊色欧美一区二区三区四区| 欧美午夜精品久久久久久孕妇| 久久久99免费视频| 久久精品主播| 99精品热视频| 老司机一区二区三区| 一区二区三区在线免费观看| 久久欧美肥婆一二区| 一本大道av伊人久久综合| 久久精品五月婷婷| 欧美在线不卡视频| 你懂的国产精品| 免费av成人在线| 另类专区欧美制服同性| 欧美视频免费在线观看| 欧美高清你懂得| 老司机午夜精品视频| 国产精品99久久久久久久女警| 午夜性色一区二区三区免费视频 | 午夜精品一区二区三区电影天堂 | 欧美黄色精品| 亚洲国产精品va| 久久久亚洲国产天美传媒修理工 | 亚洲永久免费av| 一区二区三区欧美成人| 亚洲国产精品成人一区二区| 9色国产精品| 亚洲一区二区三区777| 欧美日韩一区二区免费在线观看 | 欧美高潮视频| 日韩午夜电影| 亚洲永久视频| 国产偷久久久精品专区| 午夜宅男欧美| 免费高清在线视频一区·| 亚洲国产日韩在线| 欧美精品一区三区在线观看| 日韩西西人体444www| 亚洲欧美日韩电影| 国内成+人亚洲+欧美+综合在线| 久久久久久久一区二区三区| 免费日韩av电影| 99精品国产高清一区二区| 国产精品久久久久99| 欧美伊人久久久久久久久影院 | 久久嫩草精品久久久久| 91久久精品国产91久久| 欧美日韩国产在线播放网站| 亚洲综合首页| 免费观看成人| 亚洲免费视频网站| 在线电影一区| 欧美午夜精彩| 久久婷婷丁香| 亚洲视频精选| 欧美99在线视频观看| 一区二区三区视频免费在线观看| 国产欧美一区二区精品忘忧草 | 欧美大片在线观看一区| 一区二区三区精密机械公司| 久久久精品2019中文字幕神马| 亚洲国产老妈| 国产欧美视频一区二区三区| 欧美精品成人一区二区在线观看| 亚洲一区免费网站| 亚洲国产日本| 久久精品中文字幕免费mv| 日韩一区二区高清| 激情亚洲网站| 国产精品丝袜91| 欧美久久久久免费| 久久精品99无色码中文字幕| 99人久久精品视频最新地址| 久久夜色精品国产噜噜av| 亚洲综合第一| aⅴ色国产欧美| 亚洲国产精品电影| 黄色工厂这里只有精品| 国产精品入口尤物| 欧美亚州一区二区三区| 欧美激情亚洲一区| 欧美a级大片| 麻豆精品网站| 久久人人精品| 欧美在线观看www| 亚洲在线播放| 一区二区国产日产| 亚洲精品一区二区三区婷婷月| 麻豆精品精品国产自在97香蕉| 亚洲欧美日韩中文播放| 中文网丁香综合网| 妖精视频成人观看www| 欧美一区日本一区韩国一区| 欧美理论大片| 亚洲视频1区2区| 亚洲激精日韩激精欧美精品| 欧美在线免费视屏| 一区二区三区高清在线| 亚洲大胆女人| 狠狠噜噜久久| 狠狠久久亚洲欧美专区| 国产亚洲一区二区在线观看 | 一区二区不卡在线视频 午夜欧美不卡在 | 日韩视频久久| 亚洲欧洲在线一区| 亚洲国产网站| 亚洲精品一区二区三区av| 亚洲免费电影在线| 在线中文字幕不卡| 亚洲永久字幕| 久久不射中文字幕| 久久午夜精品一区二区| 久久免费精品日本久久中文字幕| 久久精品视频在线观看| 久久亚洲色图| 欧美福利视频在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲人成啪啪网站| 制服丝袜激情欧洲亚洲| 午夜精品久久久久影视| 久久精品国产免费观看| 欧美成人蜜桃|