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

您的位置: 首頁(yè) > 技術(shù)文檔 > 多媒體制作 > 探索F9 As3.0 Preview
AS3中與服務(wù)器交互 回到列表 Document Class特色帶來(lái)了什么?
 探索F9 As3.0 Preview

作者:egoldy 時(shí)間: 2006-07-04 文檔類(lèi)型:翻譯 來(lái)自:WebStudio

第 1 頁(yè) 探索F9 As3.0 Preview [1]
第 2 頁(yè) 探索F9 As3.0 Preview [2]

Clickable shapes(可點(diǎn)擊的形體)

下面我們先開(kāi)始創(chuàng)建一個(gè)可以點(diǎn)擊的形體。

1. 選擇文件>新建一個(gè)文檔,并將它保存為simpleBall.fla.
2. 選擇繪制圓工具,在場(chǎng)景中繪制一個(gè)正圓。當(dāng)然在繪制的時(shí)候按住shift就可以了。
注意:在繪制時(shí)候確何你的Object Drawing mode(對(duì)象繪模式)是關(guān)閉的。
3.選中選擇工具并雙擊這個(gè)形體使它高亮顯示
4.  當(dāng)這個(gè)形體選中后,選擇編輯modify>Convert to Symbol轉(zhuǎn)換為元件(按F8)來(lái)打開(kāi)元件轉(zhuǎn)換窗口,
5.將名稱改為circle然后點(diǎn)擊ok,將它轉(zhuǎn)換為影片剪輯。
6. 元件要仍處于選中的狀態(tài),在屬性面板上為它起一個(gè)實(shí)例名為:ball_mc
7. 取消對(duì)元件的選擇打開(kāi)action面板(F9).
8.在Action面板上輸入如下代碼:

代碼: 

ball_mc.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
   trace("You clicked the ball");
}

在這段代碼中,ball_mc實(shí)例變成了可以點(diǎn)擊的了,因?yàn)槟慵尤肓耸录䝼陕?tīng)用來(lái)檢測(cè)用戶是否有點(diǎn)擊動(dòng)作,無(wú)論何時(shí)只要用戶點(diǎn)擊了ball_mc影片剪輯,clickHandler()函數(shù)就會(huì)執(zhí)行。這非常類(lèi)似于之前版本在組件中加入偵聽(tīng)事件,如As2.0使用onPress()事件來(lái)檢測(cè)用戶是否點(diǎn)擊了剪輯或按鈕。
9.選擇Control>Test Movie 測(cè)試影片,當(dāng)你點(diǎn)擊圓時(shí),就會(huì)在面板上輸出”you clicked the ball.
10.關(guān)閉Swf文件返回Flash操作環(huán)境,編輯你的Actionscript 代碼,在原有代碼的上面加入如下一行代碼:
ball_mc.buttonMode = true;
11.重新測(cè)試你的影片,當(dāng)你的光標(biāo)位于圓之上時(shí),光標(biāo)就會(huì)變成一只小手的形狀。用于給用戶一個(gè)提示,這是可以點(diǎn)擊的。

Draggable shapes(可拖動(dòng)的形體)

如果你想讓用戶可以在場(chǎng)影中拖動(dòng)這個(gè)形體,你需要加入兩個(gè)事性偵聽(tīng)器,mouseDown(MouseEvent.MOUSE_DOWN)和mouseUp(MouseEvent.MOUSE_UP),如下面的例子。

下面的例子示范如何為mouseDown和mouseUp事件加入事件偵聽(tīng)器

1.編輯我們之前的例子中代碼如下:

代碼: 

ball_mc.buttonMode = true;
ball_mc.addEventListener(MouseEvent.CLICK, clickHandler);
ball_mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
ball_mc.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
function clickHandler(event:MouseEvent):void {
  trace("You clicked the ball");
}
function mouseDownListener(event:MouseEvent):void {
   ball_mc.startDrag();
}
function mouseUpListener(event:MouseEvent):void {
   ball_mc.stopDrag();
}
 

2.測(cè)試你的影片。你就可拖動(dòng)這個(gè)圓了。
雖然我們編寫(xiě)這個(gè)例子沒(méi)有花費(fèi)我們多少時(shí)間,但如果再讓你寫(xiě)一個(gè)可拖動(dòng)的形體,你可能不會(huì)情愿去寫(xiě),假想你能將你的代碼轉(zhuǎn)換為與元件連接的外部類(lèi)文件,它可以自動(dòng)的創(chuàng)建可拖動(dòng)的形體,會(huì)在將來(lái)結(jié)省你的大量時(shí)間。下面我們就看如何實(shí)現(xiàn)。

Converting code into a class(將你的代碼轉(zhuǎn)換成類(lèi))

下面的例子創(chuàng)建一個(gè)Actionscript類(lèi)它封裝整個(gè)影片剪輯的拖動(dòng)的實(shí)現(xiàn)邏輯,F(xiàn)在不管什么時(shí)候,只要?jiǎng)?chuàng)建一個(gè)類(lèi)的新的實(shí)例被創(chuàng)建,它就是可拖動(dòng)的。無(wú)須為場(chǎng)景中的每個(gè)實(shí)例去寫(xiě)代碼。

1.創(chuàng)建一個(gè)新的Fla文檔并將它保存為fancyBall.fla.
2.選擇File>New選擇Actionscript File創(chuàng)建一個(gè)新的Actionscript文件。
3.保存這個(gè)Actionscript文件為Ball.as與Fla文件為同一路徑下。也就是剛才創(chuàng)建的fancyBall.fla.
4. 在里面輸入如下代碼:

代碼: 

package {
  import flash.display.MovieClip;
   import flash.events.MouseEvent;
   public class Ball extends MovieClip {
      public function Ball() {
         trace("ball created: " + this.name);
         this.buttonMode = true;
         this.addEventListener(MouseEvent.CLICK, clickHandler);
         this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
         this.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
      }
      private function clickHandler(event:MouseEvent):void {
         trace("You clicked the ball");
      }
      function mouseDownListener(event:MouseEvent):void {
        this.startDrag();
      }
      function mouseUpListener(event:MouseEvent):void {
         this.stopDrag();
      }
   }
}
 

上面的代碼定義了一個(gè)新類(lèi)名為Ball,它繼承了MovieClip類(lèi)(內(nèi)置在flash.display package中).注意在使用As3.0書(shū)寫(xiě)外部類(lèi)時(shí),你必須明確的導(dǎo)入所需要類(lèi)。不同于在Fla內(nèi)部書(shū)寫(xiě)代碼。
5.保存并關(guān)閉Ball.as文檔,然后打開(kāi)fancyBall.fla文檔。
6. 使用繪制圓工具,在場(chǎng)景中繪制一個(gè)圓并將轉(zhuǎn)換為movieClip.
7.右擊剛剛建立的圓,選擇鏈接。
8.選擇Export for ActionScript(為action導(dǎo)出),在Class(類(lèi))的輸入框中輸入類(lèi)名Ball
9.點(diǎn)擊ok.關(guān)閉此面板。
10.確何這個(gè)圓的實(shí)例在場(chǎng)景中,測(cè)試影片。觀看是否與之前的效果是一樣的。
它看起來(lái)很不錯(cuò),下面的例子我們來(lái)看如何動(dòng)態(tài)的創(chuàng)建類(lèi)實(shí)例。

Dynamically creating instances of a class(動(dòng)態(tài)創(chuàng)建類(lèi)實(shí)例)

你不需要在創(chuàng)作時(shí)總是將元件拖動(dòng)到場(chǎng)景中,你也可以通過(guò)使用Actionscirpt新操作方法在庫(kù)中創(chuàng)建新的類(lèi)實(shí)例。

Using the new operator(使用新的操作

之前的Actionscript在創(chuàng)建新的MovieClip或是TextField實(shí)例時(shí)是通過(guò)使用如MovieClip.attachMovie(),MovieClip.createEmptyMovieClip(),或MovieClip.createTextField().來(lái)創(chuàng)建的。在ActionScript 3.0中,你可以通過(guò)類(lèi)似如new Ball()的方法創(chuàng)建新的MovieClip,TextField,Sprite,和Video 實(shí)例—或是你自定義的類(lèi),如下方法:
1.打開(kāi)fancyBall.fla.將場(chǎng)景中的所有實(shí)例元件刪去,在主時(shí)間線上加入如下代碼:

代碼: 

var b1:Ball = new Ball(); 

2.按下ctrl +回車(chē)測(cè)試,注意,我們會(huì)發(fā)現(xiàn)沒(méi)有任何東西出現(xiàn)在場(chǎng)景中,但是在輸出面板上會(huì)顯示:“ball created: instance1”,盡管Flash創(chuàng)建了ball的一個(gè)新的實(shí)例,但它是不可視的,因?yàn)槟銢](méi)有使用addChild()將它加入到顯示列表中。
3.編輯代碼,將b1實(shí)例加入到顯示列表中。測(cè)試。

代碼: 

addChild(b1); 

下一部你需要使用document class,它將允許你將代碼從主時(shí)間軸的第一幀上移到一個(gè)外部文檔中,它類(lèi)似與之前例子中的通過(guò)元件與類(lèi)連接.

Using the Document Class text box(使用Document class輸入框)

下面示范如何將你的代碼從主時(shí)間軸移到一個(gè)外部的As文件中。

1.刪去fancyBall.fla第一幀上的代碼。
2.創(chuàng)建一個(gè)新的Actionscript文檔保存為BallDocumentClass.as,與fancyBall.fla處于同一目錄下。
3.加入如下代碼在BallDocumentClass.as中:

代碼

package {
   import flash.display.MovieClip;
   public class BallDocumentClass extends MovieClip {
      private var tempBall:Ball;
      private var MAX_BALLS:uint = 10;
      public function BallDocumentClass() {
         var i:uint;
         for (i = 0; i < MAX_BALLS; i++) {
            tempBall = new Ball ();
            tempBall.scaleX = Math.random();
            tempBall.scaleY = tempBall.scaleX;
            tempBall.x = Math.round(Math.random() * (this.stage.stageWidth - tempBall.width));
            tempBall.y = Math.round(Math.random() * (this.stage.stageHeight - tempBall.height));
            addChild(tempBall);
         }    
      }
   }
}
 

4.保存并關(guān)閉這個(gè)as文檔,打開(kāi)fancyBall.fla.
5.在屬性面板的document class后面的輸入框中輸入BallDocumentClass,保存文件。
6.測(cè)試,你會(huì)發(fā)現(xiàn)有10個(gè)大小位置不同的元件出現(xiàn)在場(chǎng)景中。
使用Document Class允許你將代碼放置在外部文件中,而不是時(shí)間線上,可以在許許的fla文件重用代碼,并且在團(tuán)隊(duì)協(xié)作版本控制系統(tǒng)(CVS)中,更容易共享代碼。

總結(jié):

這篇文章只是對(duì)As3.0的一個(gè)簡(jiǎn)單應(yīng)用介紹,只要告訴大家如何創(chuàng)建簡(jiǎn)單的類(lèi),如何使用改良的偵聽(tīng)事件模型,如何使用document class.

Ps by egoldy:學(xué)完這篇文章,你會(huì)發(fā)現(xiàn)自已也可以編寫(xiě)在fla中看不見(jiàn)一行代碼的程式了,真正的是界面與代碼分離,控制,看上去真的是很酷,如果你也在學(xué)習(xí)As3.0,別忘了把你的心得分享一下。Cheers J.

源文件下載

出處:WebStudio
責(zé)任編輯:moby

上一頁(yè) 探索F9 As3.0 Preview [1] 下一頁(yè)

◎進(jìn)入論壇Flash專欄版塊參加討論

作者文章 更多作者文章
學(xué)習(xí)As2.0與AS3.0的尷尬
FLASH8 FLVPlayback組件
FLASH高級(jí)繪制
flash8與javascript集成
解決IE更新對(duì)FLASH產(chǎn)生影響
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門(mén)搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買(mǎi)真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛(ài)的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁(yè) 首頁(yè) 前頁(yè) 后頁(yè) 尾頁(yè) 頁(yè)次:2/2頁(yè) 1個(gè)記錄/頁(yè) 轉(zhuǎn)到 頁(yè) 共2個(gè)記錄

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

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

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

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

雜⑦雜⑧ Gold NORMANA V2