了解在Flash中的編程工作第1/4頁
本文節(jié)選自《Flash MX professional 2004 第一步》(陳冰著)
第十八章 了解在Flash中的編程工作
媽媽,這扇大門好雄偉好輝煌啊,它通向哪里?
寶貝,它通向編程的世界,那是充滿魔法的世界,進(jìn)入那里,你將成為偉大的魔法師。
經(jīng)歷了此前整整十七章的學(xué)習(xí),我們終于來到了編程世界的大門,大門敞開著,顯然,它一直在等待我們的到來。
18.1 像軟件設(shè)計(jì)師那樣思考問題
我相信你們中有很多人只有很少或完全沒有編程基礎(chǔ),否則,你就不會(huì)選擇我寫的這本《第一步》了。我們已經(jīng)知道,在Flash中使用ActionScript編寫腳本,與使用其他語言編程沒有什么不同。而要最終鍛煉成一名出色的軟件設(shè)計(jì)師,你要做的第一件事就是要時(shí)刻提醒自己要像一個(gè)軟件設(shè)計(jì)師那樣來思考問題。
18.1.1 不要總想著逃避編程
對(duì)于在Flash中的編程而言,要做到像軟件設(shè)計(jì)師那樣來思考問題,最重要的一點(diǎn)就是不要總想著通過逃避編程來實(shí)現(xiàn)你的想法,很多人總是想方設(shè)法試圖用非編程的手段來完成他所面對(duì)的一切問題,為此,他可以不惜代價(jià),可以花費(fèi)大量的時(shí)間,他會(huì)想出數(shù)不清的繞過編程的變通方法,如果這些方法也可以被稱為算法的話,絕對(duì)會(huì)令許多軟件設(shè)計(jì)師吃驚。
實(shí)際上,在很多時(shí)候,使用編程的方法可以被非編程的方法節(jié)省大量的時(shí)間,而且會(huì)產(chǎn)生更為真實(shí)的效果。很典型的一個(gè)例子就是表現(xiàn)各種隨機(jī)運(yùn)動(dòng),例如,大量雪花的飄落、魚的游動(dòng)。
18.1.2 認(rèn)真的編寫設(shè)計(jì)說明書
要像軟件設(shè)計(jì)師那樣來思考問題,你要努力地用邏輯清晰的語言來描述你想要實(shí)現(xiàn)的那個(gè)想法。這個(gè)過程就是軟件開發(fā)中非常重要的編寫設(shè)計(jì)說明書的過程。
聽起來有些傲慢,但在你完成了一個(gè)詳細(xì)的設(shè)計(jì)說明書后,你的工作中的95%就已經(jīng)完成了。每當(dāng)有人問我某個(gè)想法是否能實(shí)現(xiàn)時(shí),我總是回答說只要他能夠詳細(xì)的描述出它,我就能夠編出它來。對(duì)于Flash中的開發(fā)而言,一個(gè)設(shè)計(jì)說明書的全部就是一個(gè)對(duì)于Flash電影將如何執(zhí)行和表現(xiàn)的詳細(xì)而嚴(yán)謹(jǐn)?shù)拿枋?。一個(gè)好的說明書將花費(fèi)大量的時(shí)間和工作,但這是值得的。當(dāng)它完成時(shí),它將承擔(dān)起工作藍(lán)圖的職責(zé)。
一個(gè)人的關(guān)于資料要詳細(xì)到何種程度的想法可能與另一個(gè)人不同,但越詳細(xì)越好。當(dāng)你在工作的前期投入了額外的精力后,它將不僅僅在沿著這條路的行進(jìn)中為你節(jié)省下時(shí)間,它也將減少返工的機(jī)會(huì)。
編寫一個(gè)極為詳細(xì)的說明書所存在的一個(gè)問題是你很難做到充分的描述最終的程序,因?yàn)橐粋€(gè)書面的說明書與最終的Flash電影差別巨大。簡單點(diǎn)說吧,僅僅用語言來描述一個(gè)繪圖中的顏色或在沒有某些音樂設(shè)備的情況下描述一個(gè)歌曲的聲音是不可能,這里存在著解釋錯(cuò)誤。但這并不意味著你應(yīng)該草率的放棄編寫說明書的整個(gè)過程。相反,你只需將它編寫的足夠詳細(xì)使你有把握依靠它展開工作就可以了。另外,你一定要知道先前你所做的工作將對(duì)以后的工作產(chǎn)生杠桿作用。失之毫厘,謬以千里的事情經(jīng)常是由不負(fù)責(zé)的設(shè)計(jì)說明書導(dǎo)致的。
18.1.3 要想到還有其他的可能
有些時(shí)候,一個(gè)實(shí)現(xiàn)似乎有一個(gè)清晰的邏輯,似乎很明顯就該按照你設(shè)計(jì)的算法和邏輯來編寫程序,但當(dāng)開發(fā)進(jìn)展到某一步時(shí),你卻好像遭遇到了一堵墻,無法再前進(jìn)一步,很多初學(xué)編程的人會(huì)在這里投入大量的時(shí)間,不斷的反復(fù)檢查自己設(shè)計(jì)的算法的邏輯和程序代碼的編寫,對(duì)其進(jìn)行無數(shù)次的小修小改,最終陷入泥潭。
然而,一個(gè)有經(jīng)驗(yàn)的軟件設(shè)計(jì)師在這種情況下,會(huì)很快意識(shí)到自己最初的判斷可能存在根本性的錯(cuò)誤。很多時(shí)候,復(fù)雜事物的背后是簡單的邏輯,而簡單事物的背后卻潛藏著復(fù)雜的邏輯。徹底拋棄自己原先的算法,換一種思維,盡力去猜測另一種可能,你會(huì)發(fā)現(xiàn),那堵墻開始消失了。
人們總是情愿用簡單的方法去解決事情,在編程上也是一樣,這是正確的思路,但有的時(shí)候,當(dāng)簡單的方法行不通時(shí),你要意識(shí)到這件事情或許要用復(fù)雜的方法才能實(shí)現(xiàn)。
不要總把事情想的那么簡單,總要想到還有其他的可能。
相關(guān)文章
非常不錯(cuò)的Flash緩動(dòng)廣告導(dǎo)航
非常不錯(cuò)的Flash緩動(dòng)廣告導(dǎo)航...2007-01-01創(chuàng)建Flash站點(diǎn)的十大可用性技巧(轉(zhuǎn))
創(chuàng)建Flash站點(diǎn)的十大可用性技巧(轉(zhuǎn))...2007-02-02