2006-04-17
由於之前碰到乙個問題一直沒有靜下心來思考如何解決,這次趕在沖涼之前決定好了。
問題就是如何解決物件刪除的問題。
1>
我有乙個存放物件的地方,其
id與物件進行了關聯
2>
我把遊戲操作方法作了幾個分類
.有專門處理顯視次序的陣列(有序
)、有專門存放炸彈的陣列(有序
)、有專門存放背景的陣列(有序
)、有專門存放玩家的陣列(有序
)。
而當乙個物件被刪除的時候要同時把上面相關的聯絡都給切斷。
1.最直觀的解決方案就是在物件的析構函式中觸發一次事件
(類似於函式指標啦)
2.還有一種就是由管理器進行物件刪除的方式,當決定某個物件死亡的時候,標記它為死亡。在排序的時候,死亡列為最高指標,其它則以x,
y做為排序關鍵字。最終標記為死亡的物件就會自動走到排序佇列的最前面。刪除的時候只需要做線性刪除即可。
現決定使用第二種方式刪除遊戲物件,使得
world
中的定義就好象這樣:
mapm_gameobjs;
//遊戲物件
vectorm_showobjs;//
遊戲顯視佇列
vectorm_bgobjs;//
背景vectorm_collisionobjs;//
碰撞物體
vectorm_playerobjs;//
玩家list
m_deleteobjid;//
本次刪除物件的
id列表
206 12 15炸彈人開發日誌
目前的正在執行的計畫 1.支援物品組,以實現乙個物品能夠占用多個方格 2.精靈編輯 3.物品編輯 4.讀寫地圖 5.設定玩家起始位置 矩形邊框顏色 字型顏色 字型大小 6.設定背景與碰撞物 7.設定獎品 資料 放棄精靈編輯器,與物品編輯器是因為這兩樣東西雖然是小東西,卻占用了將近乙個星期時間。而我發...
2007 01 24炸彈人開發日誌
解決了兩個關於移動與碰撞的bug 1 bug描述 當炸彈在接近牆的時候,人就不能從接近牆的那一邊把炸彈踢走 原因 人物在產生碰撞的時候,沒有移動到整數格仔內 在炸彈碰撞檢測的時候加了邊介審查,導致直接在邊介附近停止,因為移動的碰撞檢測 是一但發現則立即停止的嚴格檢查。2 bug描述 人物在產生平移效...
2007 07 17炸彈人開發日誌
完成 正在處理 不處理 炸彈人遊戲開發目前修改計畫重新分為5個里程碑 1 遊戲中能使用網路對戰以及錄象功能 2 重構遊戲 1 改進id管理器 2 加入記憶體管理器 3 統一遊戲物件管理器 4 統一資源管理器的使用方法 5 加入日誌 6 調整遊戲物件中的 3 包裝遊戲 1 遊戲gui的調整 2 遊戲聲...