Posted on 2007-02-06 22:17
softgamer 閱讀(324)
評(píng)論(0) 編輯 收藏 引用
?構(gòu)建游戲,其實(shí)就是構(gòu)建你的管理器,你的夢(mèng)工場(chǎng)。
?對(duì)于這款游戲,我會(huì)設(shè)計(jì)一些管理器類(lèi),
?他們分別是: 總管理類(lèi),? 總更新和渲染
?它的下面是:
?? ???????? 小球管理類(lèi),負(fù)責(zé)小球的更新和渲染
? ? ??????? 磚塊管理類(lèi),
負(fù)責(zé)
磚塊
的更新和渲染
??????????? 寶物管理類(lèi),
負(fù)責(zé)
寶物
的更新和渲染
???????????
。。。。。。。。。
?
? 當(dāng)總管理類(lèi)更新或渲染時(shí),依次調(diào)用各個(gè)管理子類(lèi)的更新或渲染,這樣一些具體的東西可以通過(guò)同樣的管理接口運(yùn)作,而上層管理者也不用具體的管下級(jí)如何運(yùn)作。
?其中的一些細(xì)節(jié)是:
?管理類(lèi)部分,
??? 舉一個(gè)例子,對(duì)于不同類(lèi)型的磚塊來(lái)說(shuō),他們屬于一個(gè)磚塊
基類(lèi),并由這個(gè)磚塊
基類(lèi)派生,創(chuàng)建自己的屬性,然后再向磚塊管理器注冊(cè),每增加一種類(lèi)型的磚塊就向管理者注冊(cè),當(dāng)管理器創(chuàng)建此種類(lèi)型的磚塊時(shí),實(shí)際就是調(diào)用這些子類(lèi)的接口并創(chuàng)建它們。
?? 這樣,我們就隱約看見(jiàn)了一個(gè)公司的運(yùn)作,他們有總管理者,部門(mén)管理者和員工,管理者們是核心,
員工是擴(kuò)展部分,具體包括各種磚塊。
?
? 資源管理部分,
? ? 很多朋友愿意把資源一次性載入,好處是,節(jié)省運(yùn)行時(shí)間,方便管理等。壞處是程序初始運(yùn)行時(shí)間長(zhǎng),內(nèi)存消耗太大,很顯然,你不可能同時(shí)使用所有資源,一些不用的資源,也駐留在內(nèi)存里,等待調(diào)用,對(duì)于系統(tǒng)的有效性來(lái)講,實(shí)在有些不劃算。
?? 實(shí)時(shí)載入資源好處是內(nèi)存使用很有效,但是頻繁讀寫(xiě)硬盤(pán),程序運(yùn)行時(shí)間延遲突出,使程序運(yùn)行有時(shí)很不連貫。因此我們要具體情況具體分析,要給資源分級(jí),哪些一次性載入,哪些是實(shí)時(shí)讀寫(xiě)。
??
?
碰撞檢測(cè)部分,
? 目前使用廣泛的是使用矩形框來(lái)進(jìn)行粗略的碰撞檢測(cè)。
? 幾種主要的碰撞:
??? 小球與平臺(tái), 按照角度,速度,加速度定出軌跡運(yùn)動(dòng)
??? 小球與磚塊, 刪除磚塊(重要的是從內(nèi)存中刪除),
??? 小球與寶物,
更改小球的相關(guān)屬性,
刪除寶物(重要的是從內(nèi)存中刪除)。
??? 小球與墻壁,
按照角度,速度,加速度定出軌跡運(yùn)動(dòng)
??? 磚塊與磚塊, 一些會(huì)
按照角度,速度,加速度定出軌跡運(yùn)動(dòng), 一些不予理會(huì)
??
? 碰撞管理只用一個(gè)管理器完成,只是要提供不同的接口和容器。 ? 、
?
檢
測(cè)小球與磚塊,或?qū)毼锇l(fā)生碰撞時(shí),可能是一對(duì)多,也可能是多對(duì)多。這個(gè)可以在小球管理器內(nèi)放置一個(gè)指針,用來(lái)指示當(dāng)前正在判斷的磚塊。進(jìn)行檢測(cè)時(shí),就把這個(gè)指針指向的磚塊傳遞給磚塊管理器進(jìn)行檢測(cè)。然后改變這個(gè)指針。直到指針回到容器頭部。
?
? 屬性資源的管理
?? 當(dāng)然全部由外部資源屬性文件讀取,包括,小球,磚塊,寶物,背景等等各個(gè)方面的屬性。完全靜態(tài)讀取,好處是當(dāng)物品被創(chuàng)建時(shí),讀入屬性值,如果已經(jīng)初始化,就使用屬性值。
?? 目前總體框架,先想到這里。 大體是這樣了,具體的還有很多,畢竟管理的資源多,邏輯也相對(duì)復(fù)雜。
?????