中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > [AS3.0] 強大的事件機制
Flash中的打印控制 回到列表 為動態(tài)創(chuàng)建MovieClip指定鼠標(biāo)事件
 [AS3.0] 強大的事件機制

作者:KingdaSun 時間: 2006-07-29 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 強大的事件機制 [1]
第 2 頁 強大的事件機制 [2]
第 3 頁 強大的事件機制 [3]
第 4 頁 強大的事件機制 [4]

其實到目前為止,我的3.0開發(fā)學(xué)習(xí)筆記已經(jīng)有3萬字左右的東西了,但都是些綱要和代碼,整理成文,尤其是用比較有條理和易懂的方式寫出來會比較慢。況且開發(fā)中的代碼是隨手拈來,但寫教程的代碼往往要經(jīng)過一些改寫,使得重點更突出。所以如果更新有點慢,請耐心一些,呵呵。

如何接收事件?如何做到AS3.0的標(biāo)準(zhǔn)事件編程?

Event改變的部分很多,這兩天有空時,黑羽就在想怎樣用一個有條理的方式來講解Event和它相關(guān)的諸多內(nèi)容,讓我們感到比較容易理解,記憶和接受。
我準(zhǔn)備這樣來講解:

先給個接受事件的代碼例子。在例子中,指出:

  • Event對象發(fā)生了什么變化
  • addEventListener語法的不同,原因,和const型必要性和用法
  • Listener和As2.0有何不同,和this關(guān)鍵字的“改進了的記憶力”

黑羽一貫的風(fēng)格,先來一個例子。我很想給個短一點的代碼例子,但是要達(dá)到清楚,全面和標(biāo)準(zhǔn)的示范,我還是決定采用這個Document Class的示例。我會在每個代碼段注一些注釋,大家不明白的地方回貼說一下,我會盡量解答。

Document Class的含義和相關(guān)用法并不難,忘了的兄弟看我第3篇教程:
AS3.0教程(3):Document Class特色為我們帶來了什么?

好,繼續(xù)....

新建一個as文件,拷貝以下代碼,命名為AddListener.as。

新建一個fla,命名為 "黑羽黑羽我愛你.fla"(本教程推薦使用,倘若不遵從可能導(dǎo)致喝涼水塞牙泡MM被踢炒股被套等嚴(yán)重后果,霍哈哈。Just kidding。)。設(shè)置它的文檔類(Document Class)為AddListener.

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;   
   
   //哈哈,看到了沒,Document Class不僅可以擴展MovieClip,也可以擴展Sprite
   //package里面的類名要和文件名相同
    public class AddListener extends Sprite {
        public function AddListener() {

            //用package外面定義的類KingdaSprite創(chuàng)建一個實例,由于同文件中,所以不用import啦
            var outsideChild:KingdaSprite = new KingdaSprite(0x00FF00, "outside_sprite");
        addChild(outsideChild);//沒有了這一句,你啥都看不到。
   
            outsideChild.addEventListener(MouseEvent.CLICK, inclassHandler);//注冊類里面的偵聽器
            outsideChild.addEventListener(MouseEvent.CLICK, outsideHandler);//注冊類外面的偵聽器                      
        }

        private function inclassHandler(event:MouseEvent):void {
            trace("類里面的偵聽器偵聽到MouseEvent事件: " + event);
     trace("this關(guān)鍵字指向:"+this);
        }
       
    }
}

function outsideHandler(event:MouseEvent):void {
      trace("類外面的偵聽器偵聽到MouseEvent事件: " + event);
      trace("this關(guān)鍵字指向:"+this);
}

import flash.display.Sprite;
import flash.events.MouseEvent;

//這個類就是畫一個矩形,然后你點擊這個矩形會發(fā)出標(biāo)準(zhǔn)鼠標(biāo)click的事件
class KingdaSprite extends Sprite {
  public var nickname:String;
  public var ColorNum:uint;
 
    //colorNumber就是#ffcc00這種類型的數(shù),在AS3中推薦用新的uint型來標(biāo)記它
     public function KingdaSprite(colorNumber:uint, nameString:String) {
         ColorNum = colorNumber;
         nickname = nameString;                 
         graphics.beginFill(ColorNum);
         graphics.drawRect(0,0,100,100);
         graphics.endFill();
     }
}

鼠標(biāo)一點擊創(chuàng)建出來的綠色矩形,會看到輸出

類里面的偵聽器偵聽到MouseEvent事件: [MouseEvent type="click" bubbles=true cancelable=false eventPhase=2 localX=64 localY=80 stageX=64 stageY=80 relatedObject=null ctrlKey=false altKey=false shiftKey=false delta=0]

this關(guān)鍵字指向:[object AddListener]

 

類外面的偵聽器偵聽到MouseEvent事件: [MouseEvent type="click" bubbles=true cancelable=false eventPhase=2 localX=64 localY=80 stageX=64 stageY=80 relatedObject=null ctrlKey=false altKey=false shiftKey=false delta=0]

this關(guān)鍵字指向:[object global]

演示完畢,我們來講第一個話題

(一)Event對象發(fā)生了什么變化

AS2.0中創(chuàng)建event 對象是很隨意的,只要這個對象有一個String屬性叫做type的就可以了,甚至連target都可以省掉。不要以為這不規(guī)范不應(yīng)該做,看看Flash類源碼,Macromedia的程序員可不只一次的這樣使用過。所謂上梁不正下梁歪,就是這樣。(其實嚴(yán)格說也沒什么不對,有時候是不需要target。但沒有標(biāo)準(zhǔn)就是不好)
然后你在Event Object中愛添加什么就添加什么。極其自由,也就等于極其混亂。

3.0不同了,所有的事件必須都要繼承自Event這個類(全飾名稱flash.events.Event)。不然,哼哼,事件發(fā)送是不能成功地。

說說Event這個類,AS3.0的基石類是Object,Event是直接繼承自O(shè)bject的,開國大佬級別的。它里面定義了一些基本的事件名稱,比如ACTIVATE(FlashPlayer得到系統(tǒng)焦點時事件),ADDED(對象被添加到顯示時發(fā)送的事件)。AS3.0中有個好功能是cancel事件,但Event中這些基本事件統(tǒng)統(tǒng)是不能被cancel的,聽起來似乎很NB。這不細(xì)說了,Event太多內(nèi)容了。以后寫高級內(nèi)容時在提到如何運用吧。要想Flash玩的轉(zhuǎn),Event類必須很精通。正所謂江湖人稱:"平生不識Event,就稱閃客也枉然。"

這樣有什么好處?

  • 規(guī)范了事件的定義
  • 大量由此衍生的類省去了我們大量的時間和重復(fù)開發(fā)的成本。

規(guī)范事件的定義放到下一部分講。至于內(nèi)置的Event子類好處,大家請看上面fla的運行輸出,MouseEvent就是內(nèi)建的一個Event子類,它的好處一看它的內(nèi)容就明白,從AS3.0起,任何一次點擊事件我們都可以得到:

  • 事件發(fā)生時鼠標(biāo)的MC相對坐標(biāo)(localX=64 localY=80)和絕對坐標(biāo)(stageX=64 stageY=80)。
  • ctrl鍵,shift鍵,alt鍵有沒有按下。你試試按著ctrl鍵再點擊一下方塊,那么ctrlKey就為true了。(其余參數(shù)不解釋,涉及到高級運用。部分會在Event最后一節(jié)提到該怎么運用)

出處:藍(lán)色理想
責(zé)任編輯:moby

上一頁 強大的事件機制 [1] 下一頁 強大的事件機制 [3]

◎進入論壇Flash專欄版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
看IconFactory化腐朽為神奇
AS3學(xué)習(xí)筆記
Flash中的打印控制
為動態(tài)創(chuàng)建MovieClip指定鼠標(biāo)事件
Flash中的顏色矩陣
作者文章 更多作者文章
[FLASH]爽快使用XML
Document Class特色帶來了什么?
AS3.0的類及綁定
【震撼】Flash 9 Alpha發(fā)布
與Flash9的一次親密接觸!
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/41個記錄/頁 轉(zhuǎn)到 頁 共4個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2