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

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > Moock在FF2K1大會上的演說
FLV MetaData Injector 回到列表 Macromedia Breeze 快速安裝
 Moock在FF2K1大會上的演說

作者:chocobo 時間: 2004-04-27 文檔類型:翻譯 來自:藍色理想

第 1 頁 由O開始
第 2 頁 基礎(chǔ)、解讀、還有一些概念
第 3 頁 開始第一個版本的選擇題的制作
第 4 頁 再來補充一點AS知識
第 5 頁 可以重復(fù)的函數(shù)
第 6 頁 第二個版本選擇題的制作
第 7 頁 數(shù)組(arrays)
第 8 頁 第三個版本的選擇題
第 9 頁 一點面向?qū)ο缶幊讨R
第 10 頁 第四個版本的選擇題
第 11 頁 XML
第 12 頁 最后一個版本選擇題

第十一章:一點面向?qū)ο缶幊讨R

At is heart, OOP simply means that you treat portions of your program as self-contained, but interrelating modules called objects.
這是什么呀?我不翻譯了,概念的我們就先不懂吧,對象主要構(gòu)成包括屬性(properties)和方法(methods)。一個對象通常都以現(xiàn)實世界里的某個東東做藍本。
例如我們可以定義一個對象叫球,那么這個球?qū)羞@樣的屬性:半徑、X坐標(biāo)、Y坐標(biāo)、顏色。同時,也會用屬于球自己的方法例如:移動球、計算球的面積

當(dāng)然,我們還可以定義一些相對抽象的對象,例如我們要做的多選題

所有的對象都屬于某類(class),類的意思其實是用于創(chuàng)建對象的模版

一個實例(instance)就是某一個類的特定某一個case(好復(fù)雜,概念性的東西我翻不過來啦,反正實例就類創(chuàng)建出來的某一個對象)

還是再舉例吧
* 例如我們有個一個叫Chair的類
* 這個類定義了一個東西需要它有四條腿,一個坐墊
* 然后我們就可以用Chair這個類來定義我們的不同對象(可理解為椅子的款式),每個對象就有它特有的高、寬、材料、重量、顏色,正是這些屬性使每個對象互相區(qū)別。

所有的椅子互相區(qū)別,有自己的屬性,但是他們又有同樣的結(jié)構(gòu):四條腿、一個坐墊

OK,那AS里面的類和對象呢?
是的,AS里我們可以自己創(chuàng)建對象,也有可以使用的內(nèi)建對象
內(nèi)建的類(你可以用它來創(chuàng)建對象)包括:Array, Boolean, Color, Date, MovieClip, Number, Object, Sound, String, XML, XMLSocket
內(nèi)建的對象(已經(jīng)可以直接使用的對象)包括:Arguments, Key, Math, Mouse, Selection
內(nèi)建的類、對象當(dāng)然都是在FLASH里面有自己功能的東西。而正是這些功能非常常用,F(xiàn)LASH才內(nèi)建了這些類和對象,例如:
Mouse.hide(); // Hide the mouse pointer 將鼠標(biāo)隱藏,你經(jīng)常用吧?現(xiàn)在才知道其實是內(nèi)建的Mouse對象的一個hide()方法吧?

在學(xué)習(xí)如何創(chuàng)建自己的類和對象之前,先來了解一下內(nèi)建類和對象是怎樣工作的吧

與數(shù)組的結(jié)構(gòu)類似,對象是容器們(containers)的容器(container)
一個對象,用各個獨立的屬性來存放數(shù)據(jù),只不過數(shù)組區(qū)分每個容器是用數(shù)字,而對象則是用屬性名,要調(diào)用一個數(shù)組里面某個數(shù)據(jù),我們需要它是索引值,而要調(diào)用對象的屬性,則要知道屬性名
看看以下這個例子,這是個叫BALL的對象:

點擊查看大圖

BALL對象有兩個屬性:radius 和 color
而兩個屬性分別賦值為:50 和 0xFF0000 (這是AS里面表達16進制的方法)

概念清楚了,說一AS里面使用對象要注意的地方

首先,對象的屬性很靈活,它儲存的數(shù)據(jù)可以是strings(字符串), numbers(數(shù)字), booleans(布爾值), null(空), undefined(未定義), functions(函數(shù)), arrays(數(shù)組), movie clips(電影夾子), or even other objects(甚至是其他的對象,包括自定義的).

調(diào)用屬性,可用點語法:objectName.propertyName
例如我們賦值給BALL里面的屬性radius:
ball.radius = 100;

我們也可以用符號[]來訪問屬性,但是[]里面的屬性名需用雙引號擴住,同上例:
ball["radius"] = 100; (所以說數(shù)組也是對象一種,訪問方法也一樣,并沒有搞特殊化)
與點語法比較,[]更靈活,可以動態(tài)地改變屬性的名字,里面可以是變量或表達式,例如:
var propName = "radius";
ball[propName] = 100;
這點是點語法無法辦到的

純粹的OOP中,我們幾乎不會直接訪問對象的屬性
我們一般都使用方法(methods) ,來改變屬性
例如改變mySound這個聲音對象的音量屬性
AS的用法應(yīng)該是mySound.getVolume(100);
而不是mySound.volume=100;
但是為了簡單,多選題這個例子里不一定遵循這個原則,事實上AS里面很多對象都不可以辦到這點,所以有人說AS不是面向?qū)ο笳Z言。

關(guān)于對象的方法

方法method其實是一些附屬于對象的函數(shù),其作用主要是訪問對象中的數(shù)據(jù),或完成某種功能。所以調(diào)用方法和調(diào)用普通函數(shù)類似:objectName.methodName() 只是前面加上了對象的名字。
例如上面的BALL對象,我們需要它的面積,使用 getArea 這個方法:
ball.getArea();

預(yù)習(xí)一下,在下一個例子中,雖然MOOCK不打算建立自己的方法,但是將使用內(nèi)建于MovieClip對象的兩個方法:
*MovieClip.attachMovie()
此方法是將Library(CTRL+L按出來的那個)里面的symbol復(fù)制一個instance到場景中
(chocobo:給不懂概念的人緊急補習(xí),放在庫(Library)里面的叫符號(symbol),拉到場景中就叫實例(instance),一個符號可創(chuàng)建多個實例,符號改變則實例隨之改變)
與之類似的是MovieClip.duplicateMovieClip(),但是該方法需要事先在場景里已經(jīng)有一個實例

*MovieClip.removeMovieClip()
此方法與上面相反,是刪除場景里面的instance的

大家看到了,在下一例中,我們將使用MovieClip這個內(nèi)建對象,因為它就可以滿足我們的需要,不必新類型的對象了
我們先來熟悉一下MC這種對象

它有很多屬性_height(高度)、 _alpha (透明度),MC的屬性大家可以在AS字典里面查到,在AS面板里這寫屬性也是變色顯示的。同時MC的方法,例如 MC.play(); 等也可以查到。當(dāng)我們在MC里面的時間線使用這些屬性、方法的時候,可以省略不寫前面部分,直接寫play();

MC可以互相嵌套,MC當(dāng)中又有MC,就出現(xiàn)類似: mc1.mc2.play(); 的情況
為了調(diào)用包含自己的上一級MC的方法、屬性,AS里面用_parent,例如:
在mc1包含mc2 ,在mc2中想使mc1播放:_parent.play();
還有另一個保留字:_root指代該電影的主時間線
例如想在某個mc里面讓整個電影播放:_root.play();
想在某個MC中讓另一mc1播放:_root.mc1.play();

還有,MC中定義的變量,將作為MC的一個屬性可被訪問
在mc1里面寫了一句 var a=1;
我們將可使用 mc1.var來調(diào)用它

關(guān)于類(class)

這個概念大家還是不大懂吧?類就是定義一個對象將擁有什么的方法跟屬性的東東,類似MC里instance與symbol的關(guān)系,instance的結(jié)構(gòu)就是由symbol決定的,每個instance又可以不一樣
AS里面沒有專門定義類的例如class這樣的關(guān)鍵字,我們使用函數(shù)來定義類,這種函數(shù)稱構(gòu)造函數(shù)constructor function,函數(shù)的作用就是產(chǎn)生我們定義好的類的實例(就是對象)
舉例最實在:
// make a Ball constructor 最簡單的構(gòu)造函數(shù)
function Ball () {
// do nothing 里面是空的
}

現(xiàn)在我們可以定義新類型Ball的對象了
myBall = new Ball();
語法就是前面是新對象實例名,等號后是new加構(gòu)造函數(shù)名
myBall就擁有了Ball定義的一切結(jié)構(gòu)了(雖然Ball里面是空的,嘻嘻)

不過不是所有對象創(chuàng)建都用new,例如mc創(chuàng)建就用的是attachMovie()或duplicateMovieClip()

好了,我們的構(gòu)造函數(shù)總不能空的,如何定義類,讓新對象有自己的屬性呢?
使用this這個關(guān)鍵字,看例子,新的構(gòu)造函數(shù):
function Ball () {
   this.radius = 10;
   this.color = 0xFF0000;
   this.xPosition = 35;
   this.yPosition = -4;
}

以后我們定義出來的新對象,都擁有半徑,顏色、XY坐標(biāo)屬性啦
慢著,怎么每個新對象都一模一樣?
再改,用函數(shù)的參數(shù)來定義動態(tài)的屬性:
// Make the Ball constructor accept
// property values as arguments.
function Ball (radius, color, xPosition, yPosition) {
   this.radius = radius;
   this.color = color;
   this.xPosition = xPosition;
   this.yPosition = yPosition;
}

我們可以定義不同屬性的對象了
myBall = new Ball(6, 0x00FF00, 145, 200);

本教程關(guān)于還有創(chuàng)建方法以及如何在類之間繼承方法和屬性沒講,
無論如何,OOP都不可能在這么短時間之內(nèi)說清楚,
但這不妨礙我們做下一個例子了。

出處:藍色理想
責(zé)任編輯:qhwa

上一頁 第三個版本的選擇題 下一頁 第四個版本的選擇題

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

相關(guān)文章 更多相關(guān)鏈接
Flash 酷站獵手
中文ID3亂碼問題MX解決方案
用AS2解決中文ID3的亂碼
Flash常用效果-移動模糊效果
Flash MX 2005 制作環(huán)境預(yù)覽
作者文章
Moock在FF2K1大會上的演說
制造像素字體,F(xiàn)LASH MX2K4?
flash mx 2004的項目管理
原 Blueidea 首頁調(diào)查徹底解析
Royale,為程序員設(shè)計的FLASH?
關(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
>> 分頁 首頁 前頁 后頁 尾頁 頁次:9/121個記錄/頁 轉(zhuǎn)到 頁 共12個記錄

藍色理想版權(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