本文節選自《flash mx professional 2004 第一步》(陳冰著)
第十八章 了解在flash中的程式設計工作
媽媽,這扇大門好雄偉好輝煌啊,它通向**?
寶貝,它通向程式設計的世界,那是充滿魔法的世界,進入那裡,你將成為偉大的魔法師。
經歷了此前整整十七章的學習,我們終於來到了程式設計世界的大門,大門敞開著,顯然,它一直在等待我們的到來。
18.1 像軟體設計師那樣思考問題
我相信你們中有很多人只有很少或完全沒有程式設計基礎,否則,你就不會選擇我寫的這本《第一步》了。我們已經知道,在flash中使用actionscript編寫指令碼,與使用其他語言程式設計沒有什麼不同。而要最終鍛鍊成一名出色的軟體設計師,你要做的第一件事就是要時刻提醒自己要像乙個軟體設計師那樣來思考問題。
18.1.1 不要總想著逃避程式設計
對於在flash中的程式設計而言,要做到像軟體設計師那樣來思考問題,最重要的一點就是不要總想著通過逃避程式設計來實現你的想法,很多人總是想方設法試圖用非程式設計的手段來完成他所面對的一切問題,為此,他可以不惜代價,可以花費大量的時間,他會想出數不清的繞過程式設計的變通方法,如果這些方法也可以被稱為演算法的話,絕對會令許多軟體設計師吃驚。
實際上,在很多時候,使用程式設計的方法可以被非程式設計的方法節省大量的時間,而且會產生更為真實的效果。很典型的乙個例子就是表現各種隨機運動,例如,大量雪花的飄落、魚的游動。
18.1.2 認真的編寫設計說明書
要像軟體設計師那樣來思考問題,你要努力地用邏輯清晰的語言來描述你想要實現的那個想法。這個過程就是軟體開發中非常重要的編寫設計說明書的過程。
聽起來有些傲慢,但在你完成了乙個詳細的設計說明書後,你的工作中的95%就已經完成了。每當有人問我某個想法是否能實現時,我總是回答說只要他能夠詳細的描述出它,我就能夠編出它來。對於flash中的開發而言,乙個設計說明書的全部就是乙個對於flas***將如何執行和表現的詳細而嚴謹的描述。乙個好的說明書將花費大量的時間和工作,但這是值得的。當它完成時,它將承擔起工作藍圖的職責。
乙個人的關於資料要詳細到何種程度的想法可能與另乙個人不同,但越詳細越好。當你在工作的前期投入了額外的精力後,它將不僅僅在沿著這條路的行進中為你節省下時間,它也將減少返工的機會。
編寫乙個極為詳細的說明書所存在的乙個問題是你很難做到充分的描述最終的程式,因為乙個書面的說明書與最終的flas***差別巨大。簡單點說吧,僅僅用語言來描述乙個繪圖中的顏色或在沒有某些**裝置的情況下描述乙個歌曲的聲音是不可能,這裡存在著解釋錯誤。但這並不意味著你應該草率的放棄編寫說明書的整個過程。相反,你只需將它編寫的足夠詳細使你有把握依靠它展開工作就可以了。另外,你一定要知道先前你所做的工作將對以後的工作產生槓桿作用。失之毫釐,謬以千里的事情經常是由不負責的設計說明書導致的。
18.1.3 要想到還有其他的可能
有些時候,乙個實現似乎有乙個清晰的邏輯,似乎很明顯就該按照你設計的演算法和邏輯來編寫程式,但當開發進展到某一步時,你卻好像遭遇到了一堵牆,無法再前進一步,很多初學程式設計的人會在這裡投入大量的時間,不斷的反覆檢查自己設計的演算法的邏輯和程式**的編寫,對其進行無數次的小修小改,最終陷入泥潭。
然而,乙個有經驗的軟體設計師在這種情況下,會很快意識到自己最初的判斷可能存在根本性的錯誤。很多時候,複雜事物的背後是簡單的邏輯,而簡單事物的背後卻潛藏著複雜的邏輯。徹底拋棄自己原先的演算法,換一種思維,盡力去猜測另一種可能,你會發現,那堵牆開始消失了。
人們總是情願用簡單的方法去解決事情,在程式設計上也是一樣,這是正確的思路,但有的時候,當簡單的方法行不通時,你要意識到這件事情或許要用複雜的方法才能實現。
不要總把事情想的那麼簡單,總要想到還有其他的可能。
網路程式設計中的 TCP UDP 了解一下
找到主機後,如何可靠 高效地進行資料傳輸 網路通訊協議 ip 唯一的標識 internet 上的計算機 ipv4 4個位元組組成。以 點分十進位制 表示 ipv6 16個位元組組成。寫成 8 個無符號整數,每個整數用四個十六進製制位表示,數之間用冒號 表示 公網位址 全球資訊網使用 埠被規定為乙個1...
HTML與CSS在Flash中的應用
最近準備研究flash!小玩下as。剛剛無意在網上看到些以後可能會有用的東西!摘錄下來 example source code www.52css.com var mystyle textfield.stylesheet new textfield.stylesheet mystyle.load s...
點間距離公式在flash中的運用
1b 兩點間距離 1b 1b as表示 1b 1b url 1b 1b color 0000ff img files beyondpic 2008 2 26 20080222171815826.bmp img math.sqrt math.pow p1.x p2.x 2 math.pow p1.y ...