AdvancED Game Design with Flash-0

AdvancED Game Design with Flash 讀書筆記
這本書不知道要看多久…原文Orz...













p26.專案的資料夾結構

HelloWorld project folder專案資料夾
assets This folder contains the extra things that you use in your project, like images, video, and
sound. 其它需要在這個專案中用到的東西,像圖片、影像、聲音...
deploy This optional folder is used for the final published form that your game takes, such as
part of an HTML file.最後發佈時產生的檔案,例如HTML檔,這個資料不是必要的。
bin This is the destination folder for compiled SWFs. “bin” is short for “binary,” which is another
way of referring to finished, compiled programs. 發佈的SWF檔
src This is the location of your project-specific AS source files. If you’re using Flash Professional, it will
also be the location of your main FLA file.AS程式碼、FLA檔

p26.Flex metadata tag
ex:
[SWF(backgroundColor = "0xFFFFFF",
frameRate = "60", width = "550", height = "400")]
發佈swf時,為swf加入額外的訊息,像背景色、場景大小等...
也可嵌入字型、圖片、聲音等class會用到的元件。

p33.提昇Flash的一些方法
*Bit-block transfer:目前Flash有一個瓶頸,就是顯示物件和影片物件全都放在場景上,使用 bit-block transfer(或稱作blitting)方法,可以立即增進2~5倍的效能,而且不用改太多code (在第六章有相關的教學)
*Streamline your logic
*Use the Vector class for arrays that contain the same data types:若是一組資料的資料型態都相同,使用Vector class來取代 Array class ( Flash Player 10 以上才開始有Vector這個資料型別)
Use uint instead of Math.floor:使用uint取代Math.floor來取得整數,執行速度較快,但不能用在負數
Multiplication is almost twice as fast as division:乘法的執行速度比除法快兩倍(能用乘法就用乘法,ex:
x=x/2
可改寫成:
x=x*0.5
*Use lookup tables as much as possible:儘量使用lookup tables(查找表)(在第六章有相關的教學)
*Avoid creating and destroying objects unnecessarily:非必要時,不要建立或移除物件,如果有物件待會兒可能會再用到,寧願把它的visible設成false暫時先隱藏,而不要先移除,等到用時再新增。(對FlashPlayer而言,暫時隱藏會比重新建立一個物件的效能好)
*Consider object pooling:一開始就先建立好可能要用的物件,要用時再設初值給這些物件。
*Bitwise operations are sometimes faster:使用位元運算子(Bitwise operators) 通常執行速度會快一些。

Flash作品 拼圖2_新竹鄉鎮市地圖

這是一個簡單易的拼圖遊戲,最早的版本是大學時的期中作業,年代久遠啊~AS2.0
這支大概改了3次吧,
第一次是期中交作業時作的初版,
第二次是畢業後,心血來潮拿出來改,
第三次是剛好看到有人在知識+求檔,再拿出來改過後再發佈。
每隔一陣子,把舊的code拿出來再看一遍,再修改一下,
會發現自己以前怎麼會寫得這麼爛,邏輯怎麼這麼差,
然後就能發現自己在不知不覺進步了。

原始檔下載

Flash Player版本

寫好一個Project,測試時都沒問題,最討厭的就是正式上線Run時bug一堆,程式邏輯方面的bug還好,至少知道原因為何(不過這種東西通常在測試時就會被發現),最怕的就是為什麼A電腦可以正常執行,B電腦不行?碰到這種問題,什麼作業系統、FlashPlayer版本、瀏覽器、網路環境、使用者怎麽操作的,什麼雜七雜八的原因都要猜測,尤其一個project整合的環境愈複雜,要猜測的原因就更多了。

我常碰到的大概就 作業系統、FlashPlayer版本、瀏覽器 這三個原因佔大多數,所以來整理一下FlashPlayer、瀏覽器的安裝程式吧:
[[Flash Player]]
Flash Player 移除程式 http://kb2.adobe.com/cps/141/tn_14157.html
Flash Player 各種版本下載中心 http://www.adobe.com/support/flashplayer/downloads.html

[[火狐 Fire Fox]]
3.6.13 http://download.mozilla.org/?product=firefox-3.6.13&lang=zh-TW&os=win
(要其它版本的話把網址中的3.6.13改要的版本號碼)

JSON整理

JSON-AS3.0
檔案下載

import com.adobe.serialization.json.*;
trace(JSON.encode(obj_or_array));//編譯
trace(JSON.decode(string));//解譯
Category: 0 意見