此篇主要介紹類圖的使用
工具/原料
libgdx
eclipse
Using a class diagram for Canyon Bunny 使用Canyon Bunny的類圖
我們現在仔細觀察一下Canyon Bunny的結構. 一個所謂的類關係視圖是用來 幫助我們用一種標準化和結構化的觀念來看待和理解程序類之間的關係。類關係視圖如下所示:
這這個類關係圖中,你將會看到很多遊戲中使用的類。它也展現出關於類的重要信息,還有他們是如何相互關聯的。首先,在我們繼續往下之前,請不要排斥這些框圖 連線 和指向每個方向的箭頭。 In case you are not familiar with
Otherwise, simply skip to the next paragraph to continue.
大致的看一下類關係圖/UML(統一建模語言),快速閱讀以下後面的信息提示框,裡面有一些有利於你看懂類圖的簡要說明信息。否則,就跳到下一段繼續。
每個類都在一個框中。如果是一個特殊類,它會出現在書名號中:«interface» «abstract» 。
一個沒有箭頭的連線表示兩個類之間是雙向性的關係,表示他們相互依賴才能正常的工作。如果一個線的一邊又一個實心的箭頭,表示這個類完全依賴它指向的類,反過來並不適用。另外如果一個連線一端有一個空心的箭頭,通常表示實現類指向它的父類,或者是接口或者是抽象類。
最後數字表示多重性,或者說是可以存在多少個類的對象實例,語法如下: • 0..1: This indicates zero or one instance. The notation n..mindicates n to m instances.
表示0或1個實例,n..m表示 n到m個實例• 0..* or *: This indicates that there is no limit to the number ofinstances (including none).
這表示實例個數無限制• 1: This indicates that there is exactly one instance.
這表示有且只能有一個實例• 1..*: this indicates that there is at least one instance but no limitto the number above this.
最多隻能有一個現在你可以看懂類圖上的信息啦。
在類圖的頂部, 你看到CanyonBunnyMain. 這是遊戲的啟動類。因此 必須實現Libgdx提供的ApplicationListener 接口. 它包括一個資源索引類來組織和簡化訪問遊戲資源. 有兩個以上引用指向 WorldController 和 WorldRenderer.
World controller 類包括所有的遊戲邏輯來初始化和改變遊戲世界。 它還要訪問CameraHelper, 一個相機的幫助類 , 例如讓它可以指向並跟隨遊戲中的任何一個對象;
Level 管理所由的關卡有關的數據。
;和一個AbstractGameObject 類的實例的列表,代表任何遊戲世界中存在的遊戲對象。
WorldRenderer替代了rendering的位置顯然地它要頻繁地尋址AbstractGameObject類的實例列表。
因此遊戲的對象需要在做出修正和rendering進程之前被創建,在遊戲開始時,當關卡數據從level文件中加載時Level同樣 需要尋址AbstractGameObject 類的實例列表。
還有什麼沒有說的,就是類圖最下面一行的類,他們都指向abstract 類,AbstractGaeObject.他們都實現一個 這個類的特殊類型。因此表現出一個通用的功能作為一個可以在遊戲世界裡被渲染的一般遊戲對象。此外,這些類都被聚集在一起放在這個視圖裡,來標示他們在這個遊戲中的作用。你可以再瞥一眼第一章的最後,介紹libgdx項目創建的,然後快速的看一眼草圖上所有遊戲的對象。這裡是一個隊類模塊的一個簡要的介紹 。
玩家角色
峽谷兔子的頭:代表玩家由遊戲者控制
關卡物體
石頭 :代表一個平臺,有左邊和右邊。中間可以被設置成任意的長度,這是地面玩家可以在上面移動。
關卡物品:
金幣:代表一個商品玩家撿起時就會怎家玩家的 得分。
羽毛:它代表的是一種力量,將授予飛的能力 玩家的角色時,拿起。
關卡的裝飾
水面:它連接到相機的水平位置,無論什麼時候相機移動它也會在x軸移動
山:兩個大山以不同的速度移動用來造成視覺上的錯覺
雲:一朵雲在慢慢的向左移動。