作者:whycloud 文章來源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=809
這個Mascot Capsule v3 例子建立了一個情境,相容所有的Sony Ericsson的行動電話,並且通過K750測試。
這個例子中建立了一個大的立方體,這個大立方體由若干個小一些的立方體構成的,這些小立方體之間的帖圖相互交錯。在這個大立方體中,由若干個位置固定的,但自由旋轉的立方體。在XY平面上放置了一輛汽車,你可以駕駛這輛汽車在這個平面上。
使用者可以暢遊在這個情境中,並且通過行動電話的按鍵控制攝影機或者汽車,通過軟鍵你可以切換控制攝影機還是汽車。整個情境的轉換是通過下面這些鍵來改變情境座標系的。
方向鍵 左/右:左右移動
方向鍵 上/下:縮放
數字鍵 3/9: 上下移動
數字鍵 4/6: 繞Y軸左右旋轉
數字鍵 2/8: 繞X軸上弦旋轉
數字鍵 1/7: 繞Z軸順時針逆時針旋轉
fire鍵: 重設整個情境
使用者使用下面的這些鍵控制汽車的移動。當汽車移動的時候攝像機一同移動
方向鍵 左/右: 左右轉向
方向鍵 上/下: 向前/向後移動
數字鍵 4/6: 左右移動
fire鍵: 設定攝像機在汽車的正上方
通過這個例子,您需要分析旋轉、移動的對象是整個情境,還是某個物體。行動電話的按鍵並不是固定的做某個形體的轉化。因此要計算出按下按鍵時哪個是被操作的物體。
獲得指定的行為,來改變並做攝影機矩陣的乘法,是由當前程式的狀態決定的
譯者心得:該常式是Mascot Capsule v3一個綜合例子,從一個比較高的視角講述了一個Mascot Capsule v3程式的全過程。對於剛剛接觸Mascot Capsule v3的讀者來說理解起來有一個比較困難的地方,就是Mascot Capsule v3中攝影機和物體的關係,在Mascot Capsule v3中物體是被放置在層中的,而每個層都會記錄攝影機相對該層的位置,因此在讀這樣的程式經常會出現這樣的情況,攝影機的位置似乎都不同,但實際上又只有一架攝影機。這一點需要讀者細細的體會。
下載該常式