OUYA遊戲開發核心技術剖析大學霸內部資料

大學霸發表於2015-01-27

OUYA遊戲開發核心技術剖析大學霸內部資料

試讀地址:

介紹:本教程是一本進階級的教材,它可以讓讀者在瞭解、熟悉了OUYA裝置的基礎上,開始全面學習OUYA開發所需的各種技術知識。本書以OUYA官方示例的講解作為主線,貫穿了OUYA開發所必須掌握的5個知識點的詳解:輸入檢測、遊戲內購、安全區域、社群內容和輸入顯示。其中,一共涉及6個官方示例:StarterKit、Show Products、Safe Area、Community Content和Show Unity Input。

目  錄
第1章  OUYA遊戲入門示例--StarterKit 1
1.1  獲取並執行StarterKit 1
1.1.1  建立遊戲專案 1
1.1.2  下載StarterKit 1
1.1.3  匯入StarterKit 2
1.1.4  匯入OuyaSDK Core包 3
1.1.5  快速配置專案環境 5
1.1.6  檢視StarterKit執行效果 6
1.2  StarterKit程式碼解析 8
1.2.1  SceneInit場景 8
1.2.2  SceneSplash場景 9
1.2.3  SceneMain場景 12
1.2.4  SceneGame場景 18
第2章  OUYA輸入檢測--官方示例:Virtual Controller 20
2.1  OUYA的輸入控制 20
2.1.1  OUYA的輸入途徑 20
2.1.2  OUYA操縱桿上的各按鍵 21
2.1.3  輸入控制的通用流程 24
2.2  輸入控制流程分析 25
2.2.1  確保程式碼只在Android平臺上執行 25
2.2.2  名稱空間tv.ouya.console.api 25
2.2.3  檢測初始化是否成功 25
2.2.4  檢測是否連線了OUYA控制器 25
2.2.5  各按鍵所對應的整型常量 26
2.2.6  檢測搖桿的狀態 27
2.2.7  檢測按鈕的狀態 27
2.3  示例專案的建立和執行 28
2.3.1  建立遊戲專案 28
2.3.2  下載OuyaSDK-Example 28
2.3.3  匯入OuyaSDK-Examples 29
2.3.4  匯入OuyaSDK-Core 30
2.3.5  快速配置專案環境 30
2.3.6  檢視Virtual Controller執行效果 32
2.4  示例使用資源分析 33
2.4.1  示例遊戲場景--VirtualController 33
2.4.2  示例場景遊戲物件 33
2.4.3  表示沒有任何輸入的OUYA控制器 35
2.4.4  表示獲取到輸入的OUYA控制器 36
2.5  指令碼VirtualController程式碼解析 37
2.5.1  指令碼程式碼 38
2.5.2  指定檢測的OUYA控制器 41
2.5.3  輸出遊戲檢視中央的文字 41
2.5.4  自定義方法HelperUpdateSprite() 42
2.5.5  自定義方法RotateInput() 42
2.5.6  指令碼程式碼實現邏輯圖 43
2.6  指令碼OuyaInputTest程式碼解析 44
2.6.1  指令碼的位置及使用方法 44
2.6.2  示例效果展示 45
2.6.3  指令碼程式碼及說明 46
2.6.4  文字的格式化輸出 49
2.6.5  指令碼執行邏輯流程圖 50
2.6.6  OuyaSDK-Core提供的指令碼類--DebugInput 51
2.7  Virtual Controller中使用的輸入控制流程 52
2.8  OuyaSDK部分原始碼解析 53
2.8.1  類OuyaSDK裡定義的巢狀類--OuyaInput 54
2.8.2  類OuyaSDK裡定義的巢狀類--NdkWrapper 62
2.8.3  #region的應用 64
第3章  OUYA遊戲內購--官方示例:Show Products 66
3.1  IAP及其初始化 66
3.1.1  IAP及相關的屬性和方法 66
3.1.2  IAP初始化操作 67
3.1.3  IAP的初始化和檢測過程 68
3.2  遊戲內購的實現步驟 69
3.2.1  傳送“請求玩家資訊”訊息 70
3.2.2  接收“請求玩家資訊”響應 73
3.2.3  傳送“請求產品資訊”訊息 78
3.2.4  接收“請求產品資訊”響應 81
3.2.5  傳送“請求購買”訊息 88
3.2.6  接收“請求購買”響應 91
3.2.7  傳送“請求接收”訊息 95
3.2.8  接收“請求接收”響應 98
3.3  JSON詳解 104
3.3.1  講解JSON的原因 104
3.3.2  JSON的語法、值型別和結構 106
3.3.3  JSONArray和JSONObject的使用方法 107
3.4  儲存和獲取資料 115
3.4.1  putGameData() 115
3.4.2  getGameData() 115
3.4.3  原始碼解析 116
3.5  常見事件的監聽 119
3.5.1  監聽“選單出現”事件 120
3.5.2  監聽“遊戲暫停”事件 123
3.5.3  監聽“遊戲重啟”事件 126
3.6  示例專案的執行 129
3.6.1  快速配置專案環境 129
3.6.2  檢視Show Products執行效果 130
3.6.3  遊戲檢視各組成部分 131
3.7  指令碼OuyaShowProducts程式碼解析 133
3.7.1  實現內購功能的準備 134
3.7.2  各種事件的檢測 136
3.7.3  儲存Product和Receipt資料 139
3.7.4  處理檢視文字輸出 139
3.7.5  處理檢視焦點 145
3.7.6  FocusManager 147
第4章  OUYA安全區域--官方示例:Safe Area 150
4.1  安全區域 150
4.1.1  概述 150
4.1.2  檢查“檢視裁剪”問題 151
4.1.3  相關API 154
4.1.4  原始碼解析 155
4.2  示例專案的執行 157
4.2.1  快速配置專案環境 157
4.2.2  檢視Safe Area執行效果 158
4.3  指令碼OuyaSafeArea程式碼解析 159
4.3.1  指令碼程式碼 159
4.3.2  滑動條的繪製 161
4.3.3  最大最小值 161
第5章  OUYA社群內容--官方示例:Community Content 163
5.1  社群內容 164
5.1.1  概述 164
5.1.2  玩家下載/釋出的社群內容 164
5.1.3  下載社群內容的位置 165
5.1.4  社群內容的應用 166
5.2  入口--OuyaContent 169
5.2.1  示例及流程圖 169
5.2.2  獲取OuyaContent 170
5.2.3  可用性檢測 170
5.2.4  初始化檢測 170
5.2.5  原始碼解析 170
5.3  社群內容本身--OuyaMod 175
5.3.1  建立OuyaMod 175
5.3.2  巢狀類Editor 176
5.3.3  OuyaMod類裡各方法的定義 187
5.4  對社群內容的操作--OuyaUnityPlugin 204
5.5  對社群內容操作的監聽及響應--介面 215
5.5.1  檢測社群內容是否完成初始化 216
5.5.2  刪除社群內容 218
5.5.3  下載社群內容 221
5.5.4  搜尋已儲存的社群內容 223
5.5.5  搜尋已釋出的社群內容 226
5.5.6  釋出社群內容 228
5.5.7  儲存社群內容 231
5.5.8  未釋出社群內容 233
5.6  事件訊息的轉發--OuyaGameObject 235
5.7  輔助類--Bitmap 243
5.7.1  巢狀類CompressFormat 244
5.7.2  Bitmap裡各屬性、方法的定義 246
5.8  其它輔助類 249
5.8.1  OuyaModScreenshot 249
5.8.2  BitmapFactory 254
5.8.3  OutputStream 257
5.8.4  InputStream 261
5.8.5  ByteArrayOutputStream 265
5.9  示例專案的執行 271
5.9.1  快速配置專案環境 271
5.9.2  檢視Community Content執行效果 271
5.10  指令碼OuyaCommunityContent程式碼解析 273
5.10.1  實現社群內容功能前的準備 274
5.10.2  訊息的處理 277
5.10.3  遊戲檢視的繪製 281
5.10.4  各按鈕對應功能的實現 291
5.10.5  集中處理社群內容的各屬性--AddWidgets()方法 296
5.10.6  檢視焦點的處理 301
5.10.7  FocusManager 302
第6章  OUYA顯示輸入--官方示例:Show Unity Input 305
6.1  OuyaController 305
6.1.1  巢狀類--ButtonData 306
6.1.2  OuyaController裡各屬性、方法的定義 310
6.2  輔助類 315
6.2.1  OuyaUnityActivity 315
6.2.2  UnityPlayer 319
6.2.3  BitmapDrawable 321
6.2.4  Drawable 325
6.3  事件及檢測 325
6.3.1  遊戲操縱桿校準事件 326
6.3.2  檢測遊戲是否執行在OUYA支援的硬體上 330
6.4  示例專案的執行 333
6.4.1  快速配置專案環境 333
6.4.2  檢視Show Unity Input執行效果 334
6.4.3  遊戲檢視各組成部分 334
6.5  指令碼OuyaShowUnityInput程式碼解析 338
6.5.1  實現功能前的準備 340
6.5.2  檢測OUYA操縱桿上搖桿的值與按鈕的狀態 344
6.5.3  遊戲檢視的繪製 347
6.5.4  其它自定義方法 356
6.6  示例定義的其它指令碼類 368
6.6.1  OuyaPlotFPS 368
6.6.2  OuyaPlotAxisButton 373
6.6.3  OuyaPlotMeshThumbstick 379
第7章  OUYA API總覽 388
7.1  OuyaGameObject 388
7.1.1  OuyaGameObject物件 389
7.1.2  指令碼OuyaGameObject.cs解析 390
7.2  OuyaSDK 407
7.2.1  巢狀類OuyaInput 408
7.2.2  公有方法 408
7.2.3  公有屬性 409
7.2.4  事件相關介面和方法 409
7.3  其它作為輔助的指令碼類 416
7.3.1  Bitmap 416
7.3.2  BitmapDrawable 416
7.3.3  BitmapFactory 417
7.3.4  ByteArrayOutputStream 417
7.3.5  DebugInput 417
7.3.6  Drawable 417
7.3.7  InputStream 417
7.3.8  JSONArray 418
7.3.9  JSONObject 418
7.3.10  OutputStream 419
7.3.11  OuyaContent 419
7.3.12  OuyaController 419
7.3.13  OuyaMod 420
7.3.14  OuyaModScreenshot 421
7.3.15  OuyaUnityActivity 421
7.3.16  OuyaUnityPlugin 421
7.3.17  UnityPlayer 422
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1416900/,如需轉載,請註明出處,否則將追究法律責任。

相關文章