OUYA游戏开发核心技术剖析大学霸内部资料
试读地址:http://pan.baidu.com/s/1ntuql8t
介绍:本教程是一本进阶级的教材,它可以让读者在了解、熟悉了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
来源:oschina
链接:https://my.oschina.net/u/1585857/blog/372257