今日時間:07.6.26
最近一段時間,先放下D3D的學習,實踐2D編程。做項目,並且完善自己的2D/3D引擎.
寫該引擎,不是為了做出什麼出色的東西,主要是為了鞏固自己學到的C++知識,實踐C++知識,不然,都忘球了,呵呵。
實踐吧,把自己知道的知識都放進去.某些地方可以用現成的(比如windows相關的方面)把注意力放在 資源管理,C++技術,架構管理方面.
DL game engine reference document大綱:GUICOREMATHCOMMONDEBUG Dlapplication 基類設計原則:1:支援 顯處改動標題2:支援 初始化應用程式 前後的服務作業。(virtual)3:支援 wndProc訊息處理 的前後服務作業,(即自訂訊息)(virtual)4::遊戲主迴圈 (virtual) A:支援 主要遊戲迴圈裡的前後服務作業 (virtual) B:在這裡處理windows訊息迴圈. 5:為了儘可能的簡化程式的代碼,增加可讀性,遊戲的執行流程儘可能的隱藏.對外僅暴露很簡陋的介面即可.Eg:if(game.init()) Game.run(); Return;6:關於時間幀處理. 借處DLTimer去實現時間幀.定義最高幀頻為100F/s. 最低的話就看不同的電腦配置而言了,當沒有到時間禎時。Sleep(); DLApplication 基類設計思想進化論:1:但凡任何一個架構,架構的開發人員都會提供簡單代碼使用樣本,win32不例外,DX也不例外.2:DLApplication 就是把win32的框加 封裝進DLApplication類裡面.
關於DLInputInit();完成裝置初始化.失敗返回 false;UpdateData();完成資料更新.並把滑鼠及鍵盤的狀態的改變,作為事件發出去.GetCursorPos()查詢介面,返回滑鼠位置GetKeyState()查詢鍵盤某一按鍵狀態.按下返回true.
關於DLGraphic.Init();DrawText(pos,RGb,”..”,…)Render(handleTexture,dstRect,srcRect,)
關於TextureMgr本系統支援對圖片的引用計數,對於同一個名字的圖片.在記憶體中只保留一份拷貝!!!同時警告:不系統中所有的圖片不能重名,不然會導致,後載入的同名圖片不可能被載入Void SetLoadPicPath(char*);Handle LoadTextfromFile(“filename”)// 相對路徑.注意,相對於本身內部儲存的一個相對路徑.,注意, Handle QueueTexture(“filename”)查詢一個RemoveText(handle);RemoveText(filename)// 不推薦!!! 關於TextureCreatePicFormFile();儲存了filename儲存了filenDate
關於EventMgrPostEvent()// 往事件管理器中加入一個事件.Begin();Next();End();// 指向一個不存在的事件. 關於Event // 僅支援滑鼠 posX,poxY.Type MouseMove,LbuttonDown,up, RightButtonDown,up