黄色片女人_av毛片国产_亚洲精品成_91视频a - 黄色三级网站

給初學ActionScript者的建議一

時間:2013-07-25 11:45:03 ActionScript 我要投稿

給初學ActionScript者的建議(一)

給初學ActionScript者的建議(一)
在論壇當斑竹時間長了,經常會碰到有朋友提出這樣的問題:我是菜鳥,請問高手,AS到底該怎么學?我自認算不上高手,但三年的AS編程經驗,多少也可以算半個老手(應了藍色那句話:沒有菜鳥和高手之分,只有新手和老手之別),之所以這么說,就是為了先表明立場,在網上混了這些時間,國內的AS頂尖高手我大都還算認識,自知尚無資格與他們比肩,之所以恬不知恥撰此一文,實在是不忍看著眾多初學者因為摸不著學習的門路而苦苦摸索抑或干脆放棄,文中所述均為筆者個人愚見,有欠妥之處歡迎探討。另外,非常感謝AOL,他提供了文章中用到的一些很重要的信息。

一、什么是AcionScript?
隨手翻開一本技術類書籍,第一章第一節多半以“What's xxxx”做標題,要學習學一樣技術,當然最先要弄清它是什么。用最簡單的一句話定義:AS是一種腳本語言。

這句話里有兩個關鍵詞:
一、語言:所有的計算機語言都是相通的(包括匯編語言、中級語言、高級語言),這意味著如果你曾經系統的學習過其他的某種計算機語言,那么AS入門將變得非常容易。
二、腳本:這說明AS是一種解釋型語言(或稱為腳本語言)。它具備了解釋型語言的優點:快速開發,動態性,學習門檻低等等,同時它也繼承了相應的缺點:最主要的兩個缺點是效率低下和源代碼外露。這也是讓當今Flash開發者極為頭痛的兩個問題,效率低下,意味著Flash無法有效的完成一些復雜的算法(就拿遞歸來說,Flash中僅允許256層深度的遞歸)。而源代碼外露,則讓Flash作者的版權無法得到有效的保護,國內外很多著名的反編譯軟件都可以讓Flash中的程序代碼無處遁形。盡管如此,畢竟瑕不掩瑜,Flash AS仍然是一種簡單易用,功能強大的腳本語言,高超的AS編程技巧+良好的美工+優秀的創意可以打造出許許多多令人瞠目結舌的作品:絢麗的特效,趣味性極強的的游戲,功能強大的網絡應用程序....然而,這一切都是要從最基礎到如變量、函數開始(當然,如果你有編程基礎那就另當別論),在宏偉的大廈也是一磚一瓦建設起來的,不是嗎?

二、解釋型?編譯型?跨平臺?

可能有朋友注意到,剛才談到Flash的源代碼外露的問題時,有這樣一句話“很多著名的反編譯軟件....”,即曰“解釋”,又何以“反編譯”?并非是我出爾反爾,Flash AS的的確確是通過解釋執行的,而用來解釋+執行的工具,就是大名鼎鼎、擁有98%瀏覽器占有率的Flash Player。然而,在你把源程序放心交給Flash Player去執行之前,必須要經過一個“編譯”的過程,它將源代碼轉換成一種可以被FP識別的標簽(tag)。而這些標簽被以ZIP方式壓縮存儲在.swf格式的文件中。當然,一個.swf文件中除了包含AS,還有圖形、聲音等資源。在“解釋”之前先進行“編譯”并非是多此一舉,編譯的好處主要有三個:

一、經過編譯后的源代碼,以標簽(稱為“目標代碼”)的形式存在,更容易被Flash Player識別,因而可以提高解釋速度。
二、編譯過程可以預先檢測程序中的語法錯誤,并給出適當的錯誤信息,方便調試。
三、編譯過程也是代碼壓縮的過程,編譯后的代碼更加精簡。

這么說來,把AS稱為一種純粹的解釋型語言就有失妥當了,我們可以把它歸類為一種“混合型”語言。混合型語言的特點是,源代碼先經過編譯,生成一種“中間代碼”,在由相應的平臺(Flash Player)去解釋執行中間代碼。混合型語言中的佼佼者當屬現在同樣火熱的Java語言:Java語言的源代碼(.java)經過編譯,得到字節碼(.class),在由平臺(JVM)去解釋執行字節碼。不幸的是,混合型語言的這種這種“編譯”過程通常是可逆的,無論是java還是flash,都可以根據其中間代碼,反編譯得到源代碼。而且,反編譯swf的難度要遠遠低于class,而在編譯過程中加密要復雜的多,這也就是為什么如今flash反編譯軟件橫行的原因。

Flash Player的另一個優勢是提供了跨平臺性,無論何種平臺,只要擁有內嵌Flash Player的瀏覽器或是獨立的Flash Player播放器,就可以欣賞Flash,而swf文件本身不需要任何的改變,不同的只是Flash Player在各個平臺的實現方式而已。這一點也是它能夠廣泛應用于互聯網的原因之一。
可能有的朋友想到Flash的另一種播放方式,即Projector方式,通常我們所見到的是一個.exe文件。然而需要注意的是,以Projector方式發布的Flash,是不具備跨平臺能力的。只要明白了Projector的原理,就可以很容易理解這一點,其實Projector僅僅是簡單的將一個獨立的Flash Player播放器和swf文件整合,前面提到,不同平臺的Flash Player實現不同,因此,被整合到Projector中的swf無法使用不同的Flash Player播放,自然也就失去了其跨平臺性。Projector真正的好處在于,可以讓原本沒有Flash Player的機器,在不安裝FP的情況下,瀏覽Flash。其效果大致相當于你去買DVD光碟,但是你沒有DVD機,因此賣光碟的小販免費送了你一臺DVD機一樣。當然,現實中不可能有這樣的好事。:)

三、學習AS需要不需要有編程基礎?如果需要,該去學習那種語言?

這是一個經常聽到的問題。我前面曾經提到,如果你有著其他語言的.編程基礎,學習AS將變成一件非常容易的事。但如果沒有呢?是不是會很困難?答案是否定的。

總的來說,AS是一種相對比較簡單的語言,甚至你可以用它來作為你進入編程世界的第一步。如果你有著c/java/js的編程經驗,你將會發現AS只是你曾經學習并掌握的知識的一個子集,你面對的僅僅是不同的API,僅此而已。然而,如果你的目的只是為了學習AS,那你完全沒有必要為了它先去學習其他任何一種語言,這就像你為了弄明白1+1=2,而費盡九牛二虎之力去研究2+2=4一樣,本末倒置。你現在所要做的,就是從最基礎開始。何謂基礎?變量、數據類型、運算符等等都算是基礎,學了一段時間編程卻仍然搞不清楚i++與++i的區別的人不在少數。不要小看它們,對基礎概念掌握的不牢固,可能會為你將來的編程經歷造成重大的困擾,正所謂千里之堤,潰于蟻穴。在這個時候,你可能需要一本書來幫助你,筆者極力推薦下面這本書:

看到他的封面,你就知道這本書是由鼎鼎大名的O'reilly公司出版。如今,O'reilly公司的出版物儼然已成為計算機技術圖書的標準,看到了O'reilly的標志,就等于看到了質量的保證。
這本書可以說是Flash ActionScript的絕佳入門書籍,書中系統地闡述了AS中所有的基礎內容,包括:變量,數據與數據類型,原始數據類型,運算符,語句,條件語句,循環控制語句,函數,事件與事件處理,數組,對象與類等等。

先不要被這一大堆內容嚇倒,聰明的你應該很容易理解它們,學習的目的在于運用。因此,對你來說最重要的是按照書中的例子重新做一遍,以加深理解,最好能夠修改那些例子,并對出現的錯誤加以分析。這樣,你將會發現自己的進步速度之快甚至超過了自己的想象,盡管你現在還不能做出什么像摸象樣的東西,但是,這將為你今后的成就奠定堅實的基礎。有的朋友總是不重視這樣的基礎訓練,認為創意、思想最為重要,誠然,我不否認創意在我們工作中的重要性,但好的創意,也是需要基礎來實現的,否則,你充其量只能做個空想家罷了。

【給初學ActionScript者的建議(一)】相關文章:

1.給所有Actionscript初學者的建議(三)

2.給ActionScript3.0初學者的建議(二)

3.ActionScript3.0視頻教程第一節關于ActionScript的介紹

4.ActionScript3.0自學教程

5.Flash ActionScript3.0簡介

6.發生actionscript錯誤怎么解決

7.提示actionscript錯誤的解決辦法

8.ActionScript教程07:條件語句的介紹