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
- OUYA游戏开发核心技术剖析OUYA游戏入门示例——StarterKit
第1章 OUYA游戏入门示例——StarterKit StarterKit是一个多场景的游戏示例,也是OUYA官方推荐给入门开发者分析的第一个完整游戏示例.本章会对StarterKit做详细介绍,包 ...
- Xamarin Android开发实战(上册)大学霸内部资料
Xamarin Android开发实战(上册)大学霸内部资料 试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamar ...
- Arduino可穿戴开发入门教程(大学霸内部资料)
Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...
- 游戏控制杆OUYA游戏开发快速入门教程
游戏控制杆OUYA游戏开发快速入门教程 1.2.2 游戏控制杆 游戏控制杆各个角度的视图,如图1-4所示,它的硬件规格是本文选自OUYA游戏开发快速入门教程大学霸: 图1-4 游戏控制杆各个角度的 ...
- NGUI全面实践教程(大学霸内部资料)
NGUI全面实践教程(大学霸内部资料) 试读文档下载地址:链接:http://pan.baidu.com/s/1jGosC9g 密码:8jq5 介绍:NGUI全面实践教程(大学霸内部资料)本书是国 ...
- Arduino Yun高速新手教程(大学霸内部资料)
Arduino Yun高速新手教程(大学霸内部资料) 本资料为国内第一本Arduino Yun教程.具体解说Arduino Yun的基本结构.开发环境.系统配置.并着力解说关键功能--Bridge.最 ...
- BeagleBone Black项目实训手册(大学霸内部资料)
BeagleBone Black项目实训手册(大学霸内部资料) 介绍:本教程是<BeagleBone Black快速入门教程>的后续教程.本教程以项目操作为主,讲解LED项目.声音项目.传 ...
- [Chat]实战:仿网易云课堂微信小程序开发核心技术剖析和经验分享
本Chat以一个我参与开发并已上线运营近2年——类似网易云课堂的微信小程序项目,来进行微信小程序高级开发的学习. 本场Chat围绕项目开发核心技术分析,帮助你快速掌握在线视频.音频类小程序开发所需要的 ...
- Unity 2D游戏开发教程之精灵的死亡和重生
Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...
随机推荐
- windows路径操作API函数
备用,方便查找: PathRemoveArgs 去除路径的参数 PathRemoveBackslash 去除路径最后的反斜杠"\" PathAddBackslash 在 ...
- GLUT教程 - 安装
转载:http://www.cnblogs.com/live41/p/3368830.html glut库 - 下载频道 - CSDN.NEThttp://download.csdn.net/down ...
- HDU 1231 最大连续子序列 &&HDU 1003Max Sum (区间dp问题)
C - 最大连续子序列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- Ninject学习笔记<二>
本文转载自kuangkro 如果给您带来不便请联系博主 一.控制反转和依赖注入 Ninject是一个轻量级的基于.Net平台的依赖注入(IOC)框架.所谓的IOC,即控制反转(Inversion of ...
- Android Studio项目引入外部库注意事项(PullToRefresh)
Android Studio开发App项目时引入第三方库是个比较麻烦的事情.之前导入Volley就折腾了好久,导入下拉刷新控件PullToRefresh时又碰到了各种问题.在此记录一下,以便查阅. 一 ...
- 中石油-高精度阶乘-java
问题 F: [高精度]高精度阶乘 时间限制: 1 Sec 内存限制: 64 MB提交: 49 解决: 13[提交][状态][讨论版] 题目描述 <魔法宝典>对于修罗王是如此重要,是因为 ...
- Excel VBA Dir
内容来自ExcelHome网站 一.题目: 要求编写一段代码,运用Dir函数返回一个文件夹的文件列表.二.代码:Sub 示例_1_12() Dim wjm wjm = Di ...
- 安装qmake与环境变量解析
转自:http://www.kuqin.com/qtdocument/qmake-manual-2.html 安装qmake 当Qt被连编的时候,默认情况下qmake也会被连编. 这一部分解释如何手工 ...
- Period(poj 1961)
题目大意: 给你一个字符串,求这个字符串到第i个字符为止的循环节的次数. 比如aabaabaabaab,长度为12.到第二个a时,a出现2次,输出2.到第二个b时,aab出现了2次,输出2.到第三个b ...
- Http协议之Request和Response
GET / HTTP/1.1表示向服务器用GET方式请求首页,使用HTTP/1.1协议 Cache-Control作用: 用来指定Response-Request遵循的缓存机制.各个指令含义如下Cac ...