Flash ActionScript 與 Box2D 遊戲程式設計:動手創造你的 Angry Birds 世界 |
作者:黃新峰、劉沛文、林帆己、賴思妤 出版社:松崗 定價:540NT ISBN10:9572241087 ISBN13:9789572241080 BookId:435201 出版日:2013-02-07 語言:繁體中文 装订:平裝 規格:平裝 / 488頁 / 18K / 普級 / 全彩 / 初版
|
|
内容简介
Box2D是一款非常著名的2D物理引擎。透過給物體賦予真實的物理屬性來模擬物體的運動,包括碰撞、移動、旋轉等。程式設計師可以使用它,加入所編寫的遊戲程式中,這可讓遊戲中的物體運動起來更加真實逼真。藉由物理引擎來創作遊戲是未來的趨勢,本書將利用ActionScript與Flash精心搭配,除了介紹Box2D物理引擎,同時由淺入深的教導ActionScript 3.0程式撰寫概念,引導並提昇讀者的程式設計觀念與遊戲製作能力,並且可以完成現行最夯的憤怒鳥遊戲。 |
本書特色 .本書第一部分以10個範例,完整的介紹Box2D物理引擎核心使用概念。每個範例都有兩個到三個學習重點,範例的設計規劃內容由淺入深,方便讀者輕鬆掌握學習。 .本書第二部分以兩個完整範例組成,範例的設計規劃,包含程式設計簡介、流程規劃、詳細步驟與程式解說等三大部份。引導並提昇讀者的程式設計觀念,使讀者對於製作遊戲能更為得心應手。 .範例取材廣泛,讀者容易進一步推廣延伸應用,並提供完整的素材檔、完成檔可供參考。 .光碟附有簡報檔及詳細影音教學檔,適合個人自學及學校教學使用 |
|
目錄
Ch0 進階Box2D物體的形狀建立
Box2D 中有很多專有名詞,我們先做一個簡單的說明,並介紹如何取得Box2D物理引擎,以及如何使用Box2D物理引擎。
Ch1 建立Box2D的世界
在本章我們將學習如何在有重力作用的Box2D世界畫出物體圖形並模擬運動。在作品中將可以看到一個受到重力作用的動態物體,從空中掉落至靜態的地板,動態物體撞擊到地板將產生彈跳的物理效果。
Ch2 Box2D物體的形狀設置
在本範例中,讀者可以看到在場景中有圓形的物體、有三角形、四邊形、梯形的物體及箭頭形狀等物體在場景因受重力作用掉落產生彈跳動作。Box2D物理引擎在模擬物體運動時,對於物體的形狀是有一些限制,基本上物體的形狀必須是凸多邊形物體,或是多個凸多邊形物體以正確方式將其組成的形狀,本範例將討論物體形狀的設計方式。
Ch3 進階Box2D物體的形狀建立
在這個範例當中,我們可以看到很多不同形狀的多邊星形沿著一條起伏平滑曲線的斜坡慢慢滑落,如何製造這種多樣形狀的物體及起伏平滑的物體是我們進一步想探討的主題。
Ch4 Box2D物體的物理性質
本範例中,讀者可以看到在場景中的左上角我們建立了一些三角形物體,這些三角形物體因為物體間摩擦力的作用,摩擦力越大的三角形物體在斜坡上比較不容易滑動,摩擦力較小的三角形物體在斜坡上滑動較快,同時場景中右上角則安排一些星形物體,這些星形物體示範了物體恢復係數產生碰撞的效果,藉由上面各種物體的安排,將了解Box2D世界物體的物理性質,學習如何設定適當物理性質的參數,使得物體在Box2D的世界中可以得到近似於真實的運動效果。
Ch5 Box2D物體的距離連結
當我們在創造Box2D 簡單形狀的物體後,接著把這些簡單形狀的物體以不同連結的方式連結在一起,如此即可模擬更多的真實物體。Box2D 物理引擎提供很多種物體連結的方式,在此將介紹所謂的距離連結(Distance Joint)。
Ch6 Box2D物體的轉動連結(I)
本範例將介紹轉動連結,轉動連結的應用非常廣泛,舉凡輪胎、齒輪、轉盤、關節,甚至被釘在牆上的畫作,皆可以利用轉動連結來設計模擬。藉由範例我們可以了解建立齒輪物體方式,及轉動連結的基本建立與轉動連結馬達功能設置。
Ch7 Box2D物體的轉動連結(II)
本範例中將介紹轉動連結的另項功能,那就是有關轉動角度限制設定,以及利用馬達功能,當轉動連結角度改變時能回復原先的設立轉動角度範圍。
Ch8 Box2D物體的發射
Box2D物理引擎在模擬物體運動時,關於物體的型態有三種,分別是靜態物體(staticBody)、自由物體(kinematicBody)和動態物體(dynamicBody),我們將介紹此三種型態物體的性質及使用的方式。
Ch9 Box2D物體碰撞點偵測
當我們使用Box2D物理引擎時,物體因運動產生交互碰撞時,有時候是需要取得兩物體的碰撞點位置,以便在動畫或遊戲進行中給出必要的效果。在本範例中看到五個相同的圓形動態物體正在進行運動模擬,當圓形物體互相碰撞時,在場景中互相碰撞的位置上會產生碰撞效果的動畫,也就是兩個圓形物體在碰撞的位置上產生一個泡泡,同時當圓形物體上的泡泡過多時,我們讓較先產生的泡泡播放破掉的動畫。
Ch10 Box2D物體碰撞動量偵測
本範例中,我們假設讀者已經可以使用前面彈弓發射的技巧,對場景中球的物體施加一個線性速度使球物體產生運動,當球物體被發射出去之後,在球物體所經過的軌跡上要會隨機產生兩種大小的圓形泡泡,以顯示球物體運動的軌跡,這樣的效果是模擬憤怒鳥遊戲的發射動作,藉由顯示軌跡的效果可以使玩家在玩憤怒鳥遊戲的射擊過程中有修正的機會,增加遊樂效果。
Ch11 消消樂遊戲實作
在遊戲中玩家利用滑鼠點擊遊戲場景中的物體,物體分為橘褐色可消失的物體及灰色不可消失的物體,玩家必須小心地將所有橘褐色可消失的物體點擊使其消失,在點擊的同時必須要相當的注意,避免站在所有物體最上方的小海盜摔落地面。
Ch12 憤怒鳥遊戲實作
這個遊戲的玩法相當有趣也十分熱門與暢銷,為了報復嘲笑玩家的肥豬們,紅色小鳥以自己的身體當成武器,彷彿像炮彈一樣去攻擊肥豬們的堡壘。這是一個利用物理概念來挑戰的遊戲,需要邏輯性與技巧,用智力去打敗敵人。玩家需要不斷的去摸索最佳打擊敵人的方法,贏得最高的分數。