青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

的筆記

隨時隨地編輯

武俠二源碼分析

下載地址
http://3dlearn.googlecode.com/files/武俠二源碼分析.pdf
請使用chrome下載,其他瀏覽器下載后文件名如果有亂碼,請重新命名為"武俠二源碼分析.pdf",本文末附有內容目錄。


閱讀提示

本文適合熟悉C++(能熟練自如運用C++)和游戲開發的開發者閱讀,需要有完整游戲框架概念(幀循環、游戲事件處理等),了解圖形流水線(d3d或OpenGL)框架或了解圖形學框架(軟件渲染框架)。本文最適合那些針對OGRE和武俠系列正在研究的開發者。本文并不完整,可以看做類似閱讀筆記之類的文檔,如果你閱讀時碰到障礙,很可能不是你的問題而是我的問題,請自己對照源碼分析,也非常歡迎將分析結果共享給我。由于內容比較長,可以展開文檔結構圖幫助閱讀。

 

不建議閱讀的對象

剛學完C++的學生;被boss逼迫完成任務的同學;自己工作項目進度緊張的打工仔;

 

建議不閱讀的對象

沒有源碼的童靴;

 

閱讀方式

本文并非嚴格的科學文獻,只能起到點撥、參考作用。本文是技術分析文章,但是各個章節并不連續,并且單獨章節之間也不連續,不適作為連貫閱讀的材料。本文只能結合源代碼作為參考性閱讀材料

 

初衷

本文被編輯并公開的最大目的是希望某人能指出其中的不足或提出更優的分析方法:錯誤的分析方式,事倍功半的分析方式,錯誤的分析結果…….希望這類開發者朋友能給我寫信或加GTALK指正或交流,我的聯系方式:augustus四四零零(a)gmail.com(請將四四零零換成阿拉伯數字)

 

分享本文另一個愿望是,拋磚引玉,開發者可以寫自己的分析文檔,力所能及的將分析結果公布出來。本文并未加密,用pdf工具即可轉為word文檔。

 

交流分享

有一個專業的分享交流群和交流論壇

武俠交流群46060118

交流論壇 ogre3d.net/bbs

注:交流論壇一直沒有合適的人維護,不久可能關閉。

 

其中交流群實現嚴格化管理,也就是實現過去的半年一直在實行的定位原則:

1. 開源、開放、分享

2. 不提google前5頁有的技術問題

3. 公平,尊重、友愛

4. 熱愛3D開發

5.遵從不作惡原則

請各位將打算將本群當做灌水群或工作求助工具的朋友不要加入,也算對我們的一些些尊重。

 

一個可參考的展示

無意于在此摻雜版權之類的非技術討論,也請愿意交流的朋友遵守不作惡原則,自己適當掂量不作惡和不得已之間的平衡。這里還是放出一個正在運行的展示,這是一個完整的MMORPG的其中一個場景,展示了游戲從服務器到客戶端的運行。幸運的截止今天持續運行了40多天服務器仍在正常運行,但是不能保證服務器會一直開放。這里是游戲下載和運行說明地址:

http://ogre3d.net/bbs/viewtopic.php?f=10&t=71

注:服務器與交流論壇是同一臺服務器,同樣的不久后可能關閉。

也可以直接參考最后一節的附錄部分: miniClient11安裝方法.




內容目錄
武俠二源碼分析 2
有分享交流才有進步,永遠不要固步自封 2
目 錄 3
1 全局對象與模塊 8
1.1 Game 8
1.2 核心數據對象 8
1.3 CEngineInterface 9
1.4 Client模塊表 10
1.5 UI_CEGUI全局對象 11
1.6 Tick() 11
2 代碼風格 13
3 變量系統 13
3.1 變量的加載 13
3.2 變量列表 13
3.2.1 GameServer_ConnectDirect 15
3.2.2 Game_EnterDirect 15
4 狀態機 16
4.1 登錄流程 18
4.1.1 輸入賬號 19
4.1.2 選擇服務器(非GameServer,Game_EnterDirect=FALSE) 21
4.1.3 服務器列表數據庫 23
4.2 選擇角色 23
4.3 創建角色 24
5 FAIRSYSTEM 26
5.1 創建角色 26
6 事件系統 27
6.1 Class view 27
6.2 事件定義 29
6.2.1 事件ID 29
6.2.2 事件名 29
6.2.3 Event結構 29
6.2.4 事件初始化 30
6.3 注冊事件 30
6.3.1 事件注冊代碼 30
6.3.2 扯淡 32
6.3.3 事件隊列 33
6.3.4 執行事件處理 33
6.4 事件源 33
6.5 事件輸入輸出 34
6.6 事件回溯 34
6.7 打開人物屬性欄 34
6.8 雜貨商人交互分析 35
7 INTERFACE 37
7.1 ClassView 37
8 腳本 41
8.1 Class view 41
8.2 腳本表 41
8.3 腳本使用邏輯通道 42
8.3.1 腳本加載 42
8.3.2 C++注冊 42
8.4 腳本環境 43
8.4.1 創建腳本運行環境 43
8.4.2 環境類CscriptEnvironment 44
8.4.3 腳本系統CscriptSystem保存了所有環境對象 44
8.4.4 激活腳本環境 44
9 UISYSTEM 45
9.1 Class view 46
9.2 初始化 46
9.3 Tick 47
9.4 處理文字輸入 47
9.5 處理Size事件 48
9.6 窗口加載與預加載 48
9.6.1 預加載 48
9.6.2 加載 49
9.7 注冊窗口事件 49
9.8 窗口控件 51
9.8.1 控件Window的主要屬性與方法 51
9.8.2 類型與類對應關系 52
9.8.3 綁定窗口類到腳本對象 53
9.9 窗口事件的處理 53
9.9.1 窗口事件處理的邏輯通道 57
10 CEGUI 57
10.1 Cegui初始化 58
10.2 模塊的加載 59
10.3 模塊定義 59
10.4 發現新模塊(WindowSet) 59
10.5 模塊的誕生 60
10.6 模塊的滅亡 60
10.7 Case1 60
10.8 窗口布局 61
11 WIN32窗口框架 61
11.1 主窗口的創建 61
11.2 選擇登錄服務器對話框 62
12 UIEDITOR 63
12.1 Globle 63
12.2 CEGUIFalagard 64
12.3 初始化過程 65
13 數據庫 65
13.1 數據庫編輯工具 66
13.2 CDataPool 66
13.2.1 聚合對象 66
13.2.2 CDataBaseSystem關鍵邏輯通道 69
13.3 DataPool命令 70
13.4 使用 70
14 輸入系統 70
14.1 Keyboard 70
14.2 Mouse 70
15 光標控制 71
15.1 Class 71
15.2 光標類型 71
15.3 光標命令 72
15.4 實例分析 72
16 PLAYER 73
16.1 UML 73
16.2 角色數據屬性 74
16.3 角色與其他系統關聯 76
16.4 CObject_PlayerMySelf 77
16.5 角色創建GamePro_CharCreate 80
16.6 鼠標點擊移動 83
16.7 NPC對話 85
16.8 Player幀Tick 86
16.9 換裝系統 88
16.10 頭頂信息板 88
17 OBJECT 89
17.1 UML 89
17.2 對象定義 90
17.2.1 CObject繼承關系 92
17.2.2 CobjectCommand命令 94
17.2.3 CObjectManager 97
17.2.4 Object對象創建 97
17.2.5 CObject_Character關系圖 103
17.2.6 CFakeObjSystem 103
17.2.7 CAI 104
17.2.8 CObject_Item 105
17.3 創建渲染entity 106
17.4 圖形對象到邏輯對象 106
18 ENTITY 107
18.1 UML 108
18.2 創建Entity對象 109
19 網絡模塊 109
19.1 Class view 109
19.2 網絡線程 111
20 網絡協議 112
20.1 請求 112
20.2 響應 115
21 VARIABLE SYSTEM 117
22 WORLD 118
23 NODE鏈表結構等語言特性 119
23.1 基本結構 119
23.2 類圖 120
23.3 tClass與tNode的交互作用 122
24 場景 122
24.1 類圖 123
24.2 場景文件表 123
24.3 場景信息 123
24.4 場景加載 123
24.5 資料 125
24.6 Dijkstra算法 125
24.6.1 Suzhou.dijkstra 125
24.7 Collision 125
24.8 Terrain 126
24.9 Area 127
24.10 patrolpoint 128
24.11 Nav 128
24.12 Region 128
24.12.1 Region文件格式 129
24.12.2 生成Region文件 130
24.12.3 加載不可行走區域 130
24.13 CRegion 132
24.14 HeightMap 133
24.15 GridInfo 134
24.16 Light Map 136
24.17 進入場景 136
25 地形 138
25.1 Class view 138
25.2 TerrainData 143
25.3 坐標系轉換 145
26 尋路 150
26.1 Case 楊柳村 151
27 音效 151
27.1 音效分類 152
27.2 Case 技能音效 152
28 調試 153
28.1 消息顏色 153
28.2 NPC隨機消息 154
28.3 調試技巧 154
28.4 調試面板 155
28.4.1 打開關閉調試面板 157
28.4.2 Cobject調試信息 158
28.4.3 Debug plugin 158
28.4.4 Particle fake object 159
28.4.5 產生debug event 159
28.4.6 顯示Grid 159
28.4.7 顯示boundbox 159
28.4.8 EngineInterface調試信息 159
28.4.9 Lua調試信息接口 160
28.4.10 DUMP字體紋理 160
29 CASE 160
29.1 ALT_C 160
29.2 傷害顯示 164
29.3 武俠-右鍵下拉菜單實現 164
29.4 cegui 實現表情 165
29.5 客戶端包 165
29.6 右鍵菜單相關 165
29.7 Character注冊分析 166
30 命名規則 168
30.1 腳本ID編號規則 168
30.2 Monstor命名規則 169
30.3 任務腳本 169
30.4 任務開發表單-001 169
31 FAQ小技巧與疑問 170
31.1 1.窗口、lua、cegui窗口等之間的傳遞關系 170
32 附錄 171
32.1 PushEvent引用表 171
32.2 miniClient11安裝方法 179

posted on 2012-01-16 19:07 的筆記 閱讀(4671) 評論(1)  編輯 收藏 引用

評論

# re: 武俠二源碼分析 2012-01-17 14:15 冷鋒

求源碼下載地址。  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品在线免费| 一区二区三区中文在线观看 | 99热精品在线| 久久亚洲春色中文字幕| 久久久久国内| 亚洲高清久久| 欧美激情五月| 国产精品另类一区| 久久天天躁狠狠躁夜夜av| 亚洲欧美激情一区| 国内精品伊人久久久久av影院| 久久久91精品国产一区二区三区 | 99在线精品免费视频九九视| 欧美精品久久久久久| 亚洲激情网站| 亚洲综合999| 亚洲欧美激情精品一区二区| 国产嫩草影院久久久久| 久久婷婷影院| 欧美日韩国产成人| 欧美aⅴ99久久黑人专区| 欧美日韩亚洲一区二区三区| 亚洲男人天堂2024| 欧美大片在线观看一区| 久久成人综合网| 欧美午夜在线观看| 亚洲国产1区| 在线观看成人网| 欧美亚洲系列| 久久免费黄色| 激情婷婷亚洲| 欧美大胆a视频| 影音先锋久久| 久久精品国产久精国产爱| 香蕉久久一区二区不卡无毒影院| 欧美国产免费| 亚洲另类在线一区| 亚洲一区二区黄色| 你懂的视频欧美| 日韩午夜电影在线观看| 欧美韩日高清| 亚洲三级免费| 亚洲欧美日韩人成在线播放| 亚洲精品乱码久久久久久日本蜜臀| 亚洲日本va在线观看| 欧美激情第1页| 亚洲最新视频在线播放| 久久国产一区二区| 亚洲天堂免费观看| 久久久久国产一区二区三区| 好吊色欧美一区二区三区四区 | 影音先锋一区| 欧美肥婆在线| 中文在线资源观看视频网站免费不卡| 亚洲一区二区在线看| 国产一区二区三区四区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 亚洲精品国精品久久99热| 亚洲无限av看| 亚洲国产精品女人久久久| 国产精品专区一| 国产精品伦一区| 欧美成人免费全部观看天天性色| 亚洲欧美国产77777| 亚洲国产精品国自产拍av秋霞| 欧美一区二区在线免费播放| 亚洲精品久久久久久下一站 | 国产精品视频男人的天堂| 一区二区不卡在线视频 午夜欧美不卡' | 揄拍成人国产精品视频| 国产欧美欧洲在线观看| 免费不卡中文字幕视频| 欧美在线观看视频| 欧美亚洲综合在线| 午夜日韩电影| 欧美一区二区黄| 欧美一区二区三区视频在线 | 欧美日韩国产在线一区| 免费观看成人鲁鲁鲁鲁鲁视频| 午夜精品成人在线视频| 亚洲与欧洲av电影| 亚洲网站在线播放| 亚洲欧美国产视频| 久久久久成人精品| 亚洲精品在线观| 亚洲一级一区| 亚洲图片自拍偷拍| 久久精品国产精品| 免费在线观看一区二区| 麻豆国产精品777777在线| 美女网站久久| 亚洲日本电影| 性做久久久久久久久| 美女主播精品视频一二三四| 噜噜噜噜噜久久久久久91| 欧美日韩国内自拍| 国产亚洲综合性久久久影院| 9国产精品视频| 久久久91精品国产一区二区三区 | 欧美主播一区二区三区美女 久久精品人| 亚洲特级毛片| 久久最新视频| 亚洲综合久久久久| 欧美电影免费观看网站| 国产欧美日韩伦理| 亚洲一区二区三区四区五区黄| 久热精品视频在线观看| 在线亚洲激情| 欧美日韩第一区| 亚洲风情亚aⅴ在线发布| 久久天天狠狠| 欧美一级淫片播放口| 欧美视频在线播放| 亚洲精品四区| 亚洲高清资源| 欧美高清在线视频| 亚洲区一区二区三区| 久久激情视频久久| 亚洲欧美激情诱惑| 国产精品丝袜xxxxxxx| 校园春色综合网| 亚洲欧美国产精品桃花| 国产精品久久久99| 欧美一区二区三区男人的天堂 | 国产精品高潮呻吟久久| 亚洲欧美日本另类| 日韩午夜在线观看视频| 欧美激情精品久久久六区热门| 亚洲精品国产精品国自产观看浪潮 | 免费亚洲电影| 久久人人爽人人爽爽久久| 国产一区二区三区四区在线观看| 久久精品免视看| 久久嫩草精品久久久精品一| 韩国av一区二区三区四区| 米奇777在线欧美播放| 卡一卡二国产精品| 99精品久久免费看蜜臀剧情介绍| 亚洲一级影院| 玖玖玖免费嫩草在线影院一区| 中文精品视频| 午夜精品一区二区三区电影天堂| 国产亚洲欧洲一区高清在线观看| 欧美激情网友自拍| 欧美日韩国产色综合一二三四| 在线亚洲免费| 在线一区亚洲| 欧美www视频| 久久国产精彩视频| 国产精品国产精品国产专区不蜜| 久久久久久久国产| 亚洲欧美在线一区| 久久女同互慰一区二区三区| 99国产麻豆精品| 欧美国产先锋| 欧美激情一区在线| 亚洲激情一区二区| 久久久青草青青国产亚洲免观| 午夜精品视频在线| 欧美日韩精品在线视频| 欧美寡妇偷汉性猛交| 亚洲欧美激情一区二区| 亚洲综合日韩中文字幕v在线| 欧美—级a级欧美特级ar全黄| 久久精品视频一| 国产精品美女久久| 亚洲淫性视频| 欧美在线网站| 国产亚洲精品bt天堂精选| 亚洲欧美在线网| 久久激情综合网| 国产亚洲一区精品| 午夜影院日韩| 久久色中文字幕| 亚洲欧洲视频| 欧美大片专区| 99re视频这里只有精品| 亚洲欧美电影院| 国产女人aaa级久久久级| 欧美一区二区视频在线观看2020| 久久国产精品72免费观看| 伊人成年综合电影网| 欧美国产精品劲爆| 午夜精品久久久久久久| 亚洲日韩中文字幕在线播放| 午夜天堂精品久久久久 | 免费成人av| 亚洲在线观看免费| 亚洲区一区二| 一区二区亚洲精品| 久久久综合香蕉尹人综合网| 日韩视频在线一区二区三区| 久久欧美肥婆一二区| 亚洲欧美日韩综合aⅴ视频| 亚洲精品视频一区二区三区| 国产精品青草综合久久久久99| 久久精品系列| 久久久www| 欧美一级久久久久久久大片| 日韩视频免费观看高清在线视频|