自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (53)
  • 收藏
  • 关注

原创 【Unity3D杂谈】记出海游戏的国际化多语言遇到的问题汇总

一开始以为是热更新框架的问题,导致文件丢失。但是却没有监控到其他任何资源加载的错误。在大量排查各种因素后,发现了规律:触发问题的玩家大多是土耳其语系(其他少量阿塞拜疆语等)。于是乎,把手机语言和地区切换为土耳其,问题复现。

2024-01-31 14:13:17 514

原创 【Unity3D杂谈】记一次优化shader性能的过程

我们的手游的主场景主要由一系列的2D图片的SpriteRenderer组成,有一片大的水面背景,有一个shader去实现了水颜色渐变和波纹的效果。在岛上有很多建筑物。按理论上,有更多建筑的区域应该渲染压力更大,而纯水面的地方应该只有一个shader在渲染。但是经测试发现,在一个低端的Android手机上(大约千元的三星手机)上,发现将相机拖动到只有背景海面的区域,帧率也会明显下降,明显不符合预期,因此开始探究为什么这个shader会导致帧率下降。

2024-01-30 15:06:23 469

原创 【Unity3D杂谈】记修复90Hz刷新率Android机只有45帧的问题

开发的手游一直都是以60帧为目标帧率的,监控到线上有部分设备异常,在真机测试发现90Hz刷新率屏幕的设备(如三星A14等)的帧率只有45帧。已知工程设置没有开启垂直同步,也没有开启Optimized Frame Pacing等选项,而且Application.targetFrameRate也是60。经测试,没有进入游戏的时候就已经是45帧了,所以不是性能的问题,猜测是跟刷新率有一定的关系。而且45帧正好是90的一半,怀疑Unity底层为了平滑deltaTime,强行做了锁帧。

2024-01-23 15:39:14 685

原创 【AI】阿里大模型AI角色动画框架Motionshop试玩

Motionshop据官方网页介绍,这个AI工具的工作原理大致如下:人物检测通过将文本信息与现有的闭集检测器使用基于Transformer的框架进行紧密融合,零样本目标检测也能够表现良好。感兴趣的目标候选者通过一种开集目标检测方法进行检测,随后采用主导选择方法确定最终的目标区域。分割与跟踪一旦目标成功检测,像素级目标区域将通过视频对象分割跟踪方法进行跟踪,该方法由广泛使用的零样本分割方法(Segment Anything Model,SAM)初始化和精化。

2024-01-20 18:41:57 855

原创 【Unity3D杂谈】记一次修复BufferMetal::EndWrite崩溃的问题

表现上是低内存,像是内存占用满了导致的崩溃。但是从理性分析,这个版本的内容,内存中占用理论上不应该与之前版本有重大变化。而且正好是升级了Unity的时候,所以最大的可能性是触发了什么Unity版本bug,导致访问了无效内存导致。于是就开始搜集跟这个崩溃有关的资料。大致问题原因是,粒子系统出了问题导致的崩溃。

2024-01-15 11:46:35 406

原创 【Unity3D杂谈】记一次升级Unity3D到2021.3.26f1版本shader踩坑

之前项目组一直在使用的是Unity3D 2021.3.11版本,但是跑了一点时间,发现崩溃明显增多,于是决定将Unity3D 2021.3.26f1版本。其实理论上只是最后一位的小版本升级,应该没有太大的兼容性问题才对,升级完其他的问题没有发现,但是发现游戏里一些模型渲染不出来了,整体工程也没有报错。而且最诡异的是,电脑上显示是正常的,只有打到安卓和iOS设备是不正常的。

2024-01-15 11:27:18 476

原创 【GitHub Copilot】JetBrains使用GitHub Copilot

作为一个Unity3D游戏开发者,GitHub Copilot经过一年多的使用,有一些感受是:a.非常适合用在写框架级的代码,它能非常准确的识别你的设计意图,节省非常多的码字量b.是比内置Intelligent Sense等代码补齐工具更加智能的API接口补齐工具c.在写一些繁复的业务代码时,也能较准确的提示出内容整体使用下来,会节省很多码字的体力活。一年100刀的费用有点贵,但是对于有经验的开发者来说,还是挺值的。如果是初学者,还是建议修炼基本功,不要过度依赖这些智能提示工具了。

2024-01-13 12:45:55 2141

原创 【Unity3D渲染】Unity3d实现Photoshop的各种图层混合模式

Adobe Photoshop图层混合原理、Unity ShaderLab图层混合实现

2024-01-12 17:19:27 986

原创 【Unity3D杂谈】Unity3D iOS包支持多图标

做游戏运营推广的童鞋可能比较熟悉,当我们设计出游戏的Logo的时候,最终是否采纳该Logo作为游戏的图标,除了美观等设计方面的考量,还需要考虑对买量用户转化等方面的数据是否优秀。为了测试这种数据,可以绘制几个图标,然后建立多个测试组,试投放不同的图标来得出结论。此时,对应到研发的需求就是,发布一个iOS版本时,带着多个图标。在Apple Store Connect后台上线时,运营童鞋可以有多个图标的选项,从而决定哪些测试组使用哪个图标。

2024-01-10 11:49:42 802

原创 【Unity3D杂谈】记一次解决FB开发者后台报隐私权政策违规问题

修复url返回非200状态码问题

2024-01-08 14:20:59 868

原创 【Unity3D框架】关于手游的UI框架的一些思考

Unity手机游戏UI框架设计和思考。

2024-01-06 21:26:01 1080

原创 【Unity3D杂谈】记查相机渲染保存的图片与场景中不一致的问题的经历

Unity渲染混合模式的思考

2024-01-06 19:52:27 1814

原创 【Unity3D杂谈】记手游适配iPhone灵动岛的经历

Unity3d手游UI适配iPhone灵动岛设备

2024-01-06 18:13:03 986

原创 【Unity3D框架】Unity Package Manager自定义包管理实践

在公司开发的前两个项目,虽然搭建了基础的框架,有一些目录划分,但是当项目复杂度增长到一定程度,以及后续新开了一些新的项目之后,对于基础框架的管理就遇到了一些挑战,主要体现在以下几个方面:1、多项目之间拷贝了类似的基础框架,但是在开发过程中各项目之间各自对内容进行修改,难以共享修改的结果。比如,对于如第三方sdk升级、对框架的bug修复等,在不同项目之间各升级一遍,该踩的坑要再各踩一遍等,实际上效率很低。2、新项目无法直接引入纯净的基础框架,需要整个复制其他项目的框架,以此为基础删掉逻辑。

2024-01-06 16:48:13 1673

TCP IP详解(完整三卷) 清晰非扫描版

TCP IP详解(完整三卷) 清晰非扫描版

2017-05-14

Opengl编程指南 第八版 源码.part2

Opengl编程指南 第八版 源码.part2

2017-05-11

Opengl编程指南 第八版 源码.part1

Opengl编程指南 第八版 源码.part1

2017-05-11

OpenGL编程指南 中文 第八版.part1

OpenGL红宝书,世界级著作《OpenGL编程指南》第八版的扫描版pdf,外加源码奉上,给爱学习的童鞋。文件过大,分为两部分,此为part1

2017-05-11

OpenGL编程指南 中文 第八版.part2

OpenGL红宝书,世界级著作《OpenGL编程指南》第八版的扫描版pdf,外加源码奉上,给爱学习的童鞋。文件过大,分为两部分,此为part2

2017-05-11

Opengl编程指南 第七版 pdf+源码

OpenGL红宝书,世界级著作《OpenGL编程指南》的扫描版pdf,外加源码奉上,给爱学习的童鞋。

2017-05-11

HiJson2.1.2(32&64bit)

简便好用的JSon工具HiJson2.1.2,包含两个64和32位两个版本。

2016-11-21

svn工具合集

包括32位和64位两种版本的TortoiseSVN,VisualSVN-Server及其LanguagePack等。

2016-11-21

Android反编译工具合集

Android反编译工具合集,包括apktool,dex2jar,jdgui。(尊重版权,仅作学习目的)。

2016-11-21

IPackageDataObserver.aidl&IPackageStatsObserver.aidl&PackageStats.aidl

Android开发PackageManager相关接口需要用到的aidl文件 IPackageDataObserver.aidl IPackageStatsObserver.aidl PackageStats.aidl

2016-11-21

qt(4.8.6-32bit)+oracle 10g驱动

手动编译成功的32位的qt4.8.6对应的oracle 10g的驱动,直接替换或移动到qt安装目录下plugins/sqldrivers即可使用。使用需注意版本对应。

2016-11-10

Android笔记

Android开发教程,覆盖范围广,项目源码剖析,图文并茂,内容全面生动,非常适合安卓入门新手学习。(某机构内部资料)

2016-10-24

Qt项目源码

本人在学习qt时收集来的小项目,包括qt 2048小游戏,音乐播放器,扫雷游戏,贪吃蛇,计算器等,亲测可用。能帮助新手快速熟悉qt GUI编程。

2016-10-19

MFC_官方API文档

MFC_官方API文档

2016-10-19

MySQL.Cookbook(第2版)

[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版.pdf 学习Mysql的经典书籍

2016-10-19

MySQL核心技术手册(第二版)

MySQL核心技术手册(第二版).(美)戴尔.扫描版.pdf MySQL权威书籍

2016-10-19

c++公交信息管理系统

大一c++课程设计大作业,公交信息管理系统。

2016-10-09

C/C++设计模式基础教程

设计模式的知识汇总及c++代码实现,适合初学者入门和记忆。

2016-10-09

Android开发完全讲义(第二版)-源代码-李宁

Android开发完全讲义(第二版)-源代码

2016-10-09

win64 python2.7.8+numpy+scipy+six+matplotlib

在学习《机器学习实战》Python实现版时,搜集了很久才搜集齐的安装包,包括绘图和数学工具库及其依赖库等,有python 2.7.8, matplotlib,numpy, pyparsing, six, scipy, dateutil等,都是win7 64位的包。

2016-10-09

PhotoShop Blend Modes说明

针对Adobe Photoshop图层之间混合模式的说明,包括Normal、Multiply、Screen、Overlay、Darken、Lighten、ColorDodge、ColorBurn、HighLight、SoftLight、Difference、Exclusion、Hue、Saturation、Color、Luminosity等的详细说明和具体公式。

2024-01-12

游戏编程精粹1-7中文版全套

作者Mark Deloura是Game Developer杂志的主编,曾在在任天堂等公司就职,这套书每本精选了约70篇讨论各种游戏编程主题的文章,是游戏开发进阶的好书籍。

2019-03-09

Android开发艺术探索.azw3

《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。《Android开发艺术探索》从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和Android的性能优化思想。 《Android开发艺术探索》侧重于Android知识的体系化和系统工作机制的分析,通过《Android开发艺术探索》的学习可以极大地提高开发者的Android技术水平,从而更加高效地成为高级开发者。而对于高级开发者来说,仍然可以从《Android开发艺术探索》的知识体系中获益。

2018-03-20

精通正则表达式(第3版).azw3

随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。《精通正则表达式(第3版)》是讲解正则表达式的经典之作。《精通正则表达式(第3版)》主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在perl、java、.net、php中的用法。

2018-03-20

Google软件测试之道.azw3

每天,google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《google软件测试之道》抓住了google做测试的本质,抓住了google测试这个时代最复杂软件的精华。《google软件测试之道》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似google的测试流程或团队的人受益很大。 最后,《google软件测试之道》还介绍了作者对于google测试如何继续演进的见解、google乃至整个业界的测试方向的一些预言,相信很多读者都会感受到其中的洞察力,甚至感到震惊。本书可以作为任何从事软件测试人员到达目标的指南。 《google软件测试之道》适合开发人员、测试人员、测试管理人员使用,也适合大中专院校相关专业师生的学习用书,以及培训学校的教材。

2018-03-20

深入react 技术栈.azw3

全面讲述React技术栈的第一本原创图书,pure render专栏主创倾力打造 覆盖React、Flux、Redux及可视化,帮助开发者在实践中深入理解技术和源码 前端组件化主流解决方案,一本书玩转React“全家桶” 本书讲解了非常多的内容,不仅介绍了面向普通用户的API、应用架构和周边工具,还深入介绍了底层实现。此外,本书非常重视实战,每一节都有实际的例子,细节丰富。我从这本书里学到了很多东西,强烈推荐! ——阮一峰,蚂蚁金服技术专家,国内技术圈知名博主,《ES 6标准入门(第2版)》作者 React从诞生起就颠覆了诸多传统前端开发的“铁律”,这种破旧立新开启了前端开发全新的时代。它的用法和理念,代表了现在和未来几年前端技术的潮流风向。如果不想落伍,最好进行系统学习。实践出真知,从牛人的实践中收获自己的真知,恐怕是最好的捷径。这是我看到的第一本React中文原创著作,读来倍感亲切。 ——张克军,豆瓣前端专家,国内技术圈知名博主,前端布道师 本书内容翔实,一扫“文档说明书”之风,有大量作者的实战经验。由浅入深,无论你是 React 初学者,还是进阶人士,本书都值得一读! ——寸志,陆金所前端架构师,《前端外刊评论》发起人 本书从几个维度去介绍 React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品 Redux,它们怎么与 React 结合做应用开发。三是对 React 与 server 的碰撞产生的一些思考。四是讲述它在可视化方面的优势与劣势。 本书适合有一定经验的前端开发人员阅读。

2018-03-20

Unity 5实战 使用C#和Unity开发多平台游戏

目录 第Ⅰ部分起步 第1章初识Unity 1.1为什么Unity如此优秀 1.1.1Unity的优势 1.1.2要意识到的缺点 1.1.3使用Unity构建的游戏案例 1.2如何使用Unity 1.2.1Scene视图、Game视图和工具栏 1.2.2使用鼠标和键盘 1.2.3Hierarchy标签和Inspector 1.2.4Project和Console标签 1.3开始使用Unity编程 1.3.1代码在Unity中是如何运行的:脚本组件 1.3.2使用MonoDevelop,跨平台的DE 1.3.3打印到控制台:HelloWbrld! 1.4小结 第2章构建一个让你置身3D空间的演示 2.1在开始之前 2.1.1对项目做计划 2.1.2了解3D坐标空间 2.2开始项目:在场景中放置对象 2.2.1第二步:地板、外墙和内墙 2.2.2灯光和摄像机 2.2.3玩家的碰撞器和视口 2.3让东西移动:应用变换的脚本 2.3.1图示说明如何通过编程实现旋转 2.3.2编写代码实现图中演示的运动 2.3.3本地和全局坐标空间 2.4用于观察周围的组件脚本:MouseLook 2.4.1跟踪鼠标运动的水平旋转 2.4.2在一定范围内的垂直旋转 2.4.3同时水平和垂直旋转 2.5键盘输入组件:第一人称控件 2.5.1响应按下的键 2.5.2设置独立于计算机运行速度的运动速率 2.5.3为了碰撞检测,移动CharacterController 2.5.4调整组件为走路而不是飞翔 2.6小结 第3章为3D游戏添加敌人和子弹 3.1通过射线射击 3.1.1什么是射线发射 3.1.2使用命令ScreenPointToRay来发射 3.1.3为准心和击中点添加可视化提示 3.2脚本化反应的目标 3.2.1确定被击中的对象 3.2.2警告目标它被击中 3.3基本漫游AI 3.3.1图解基础AI的工作原理 3.3.2使用射线发射发现障碍物 3.3.3跟踪角色状态 3.4产生敌人预设 3.4.1什么是预设 3.4.2创建敌人预设 3.4.3在不可见的SceneController中实例化 3.5通过实例化对象进行射击 3.5.1创建子弹预设 3.5.2发射子弹并和目标碰撞 3.5.3伤害玩家 3.6小结 第4章为游戏开发图形 4.1了解美术资源 4.2构建基础3D场景:白盒 4.2.1白盒的解释 4.2.2为关卡绘制地板平面图 4.2.3根据平面图布局几何体 4.3使用2D图像给场景贴图 4.3.1选择文件格式 4.3.2导入图像文件 4.3.3应用图像 4.4使用贴图图像产生天空视觉效果 4.4.1什么是天空盒 4.4.2创建一个新天空盒材质 4.5使用自定义3D模型 4.5.1选择文件格式 4.5.2导出和导入模型 4.6使用粒子系统创建效果 4.6.1调整默认效果的参数 4.6.2为火焰应用新贴图 4.6.3将粒子效果附加到3D对象上 4.7小结 第Ⅱ部分轻松工作 第5章使用Unity新的2D功能构建一款记忆力游戏 5.1设置2D图形 5.1.1为项目做准备 5.1.2显示2D图像(亦称精灵) 5.1.3将摄像机切换为2D模式 5.2构建卡片对象并让它响应单击 5.2.1从精灵构建对象 5.2.2鼠标输入代码 5.2.3当单击时显示卡片 5.3显示不同的卡片图像 5.3.1通过程序加载图像 5.3.2通过不可见的SceneController来设置图像 5.3.3实例化一个网格的卡片 5.3.4打乱卡片 5.4实现匹配和匹配得分 5.4.1保存并比较翻开的卡片 5.4.2隐藏错误卡片 5.4.3显示积分的文本 5.5重启按钮 5.5.1使用SendMessage编写UIButton组件 5.5.2从SceneController中调用LoadLevel 5.6小结 第6章在3D游戏中放置2D图形用户界面 6.1在开始写代码之前 6.1.1直接模式GUI还是高级2D界面 6.1.2规划布局 6.1.3导入UI图像 6.2设置GUI显示 6.2.1为界面创建画布 6.2.2按钮、图像和文本标签 6.2.3控制UI元素的位置 6.3编写UI中的交互 6.3.1编写不可见的UIController 6.3.2创建弹出窗口 6.3.3使用滑动条和输入域设置值 6.4通过响应事件更新游戏 6.4.1集成事件系统 6.4.2从场景中广播和侦听事件 6.4.3从HUD广播和侦听事件 6.5小结 第7章创建第三人称3D游戏:玩家移动和动画 7.1调整摄像机视图为第三人称视角 7.1.1导入一个用于观察的角色 7.1.2将阴影添加到场景 7.1.3摄像机环绕玩家角色 7.2编写程序控制camera—relative的移动 7.2.1旋转角色,以朝向移动方向 7.2.2朝着方向向前移动 7.3实现跳跃动作 7.3.1应用垂直速度和加速度 7.3.2修改地面检测来处理边缘和斜坡 7.4设置玩家角色上的动画 7.4.1在导入的模型上定义动画剪辑 7.4.2为动画创建动画控制器 7.4.3编写操作Animator组件的代码 7.5小结 第8章在游戏中添加交互设施和物件 8.1创建门和其他设施 8.1.1由按键控制开/关的门 8.1.2在开门之前检查距离和朝向 8.1.3创建一个变色监控器 8.2通过碰撞与对象交互 8.2.1和具有物理功能的障碍物碰撞 8.2.2用一个压力板来触发门 8.2.3收集当前关卡游戏中分散的物件 8.3管理仓库数据和游戏状态 8.3.1设置玩家和仓库管理器 8.3.2编程实现游戏管理器 8.3.3把物品存储在集合对象中:List与Dictionary 8.4使用和装备物品的仓库UI 8.4.1在UI中显示仓库物品 8.4.2装备一个用来开门的钥匙 8.4.3通过使用血量包来恢复玩家的血量 8.5小结 第Ⅲ部分冲刺阶段 第9章将游戏连接到互联网 9.1创建户外场景 9.1.1使用天空盒生成天空视觉效果 9.1.2通过代码设置大气环境 9.2从互联网服务下载天气数据 9.2.1使用协程请求WWW数据 9.2.2解析XML 9.2.3解析JSON 9.2.4基于天气数据影响场景 9.3添加一个网络布告栏 9.3.1从互联网加载图像 9.3.2在布告栏上显示图像 9.3.3缓存下载的图像以供重用 9.4将数据发送到Web服务器 9.4.1跟踪当前的天气:发送post请求 9.4.2PHP中的服务器端代码 9.5小结 第10章播放音频:音效和音乐 10.1导入音效 10.1.1所支持的文件格式 10.1.2导入音频文件 10.2播放音效 10.2.1音频剪辑、音源和声音侦听器 10.2.2设定一个循环声音 10.2.3从代码触发音效 10.3音频控制接口 10.3.1建立中心AudioManager 10.3.2音量控制UI 10.3.3播放UI声音 10.4背景音乐 10.4.1播放循环音乐 10.4.2独立控制音乐的音量 10.4.3歌曲间的淡入淡出 10.5小结 第11章将各部分整合为一个完整的游戏 11.1再次利用项目来构建角色扮演RPG 11.1.1将多个项目的资源和代码装配在一起 11.1.2编写指向单击的控件:移动和设备 11.1.3使用新界面替换旧GUI 11.2开发总体的游戏结构 11.2.1控制任务流和多关卡 11.2.2通过到达退出条件完成一个关卡 11.2.3当被敌人捕捉时关卡失败 11.3处理玩家游戏过程中的进度 11.3.1保存并加载玩家进度 11.3.2通过完成三个关卡打败游戏 11.4小结 第12章将游戏部署到玩家的设备 12.1构建桌面环境:Windows、Mac和Linux 12.1.1构建应用 12.1.2调整Player Settings:设置游戏的名称和图标 12.1.3平台依赖的编译 12.2为Web构建游戏 12.2.1Unity Player和HTMUWebGL 12.2.2构建Unity文件和一个测试Web页面 12.2.3与浏览器中的JavaScript通信 12.3构建移动应用的平台:iOS和Android 12.3.1设置构建工具 12.3.2贴图压缩 12.3.3开发插件 12.4小结 附录A场景导航和键盘快捷键 A.1使用鼠标进行场景导航 A.2一般使用键盘快捷键 附录B与Unity一同使用的外部工具 B.1编程工具 B.1.1Visual Studio B.1.2Xcode B.1.3Android SDK B.1.4SVN、Git或Mercurial B.23D美术应用 B.2.1Maya B.2.23dsMax B.2.3Blender B.32D图像编辑器 B.3.1Photoshop B.3.2GMP B.3.311exturePacker B.4音频软件 B.4.1Pro Tools B.4.2Audacity 附录C在Blender中建模一个板凳 C.1构建网格几何体 C.2模型贴图映射 附录D在线学习资源 D.1附加的指南 D.2代码库 后序

2018-03-12

精通iOS框架 第2版

Kyle Richter是MartianCraft公司的CEO,MartianCraft公司曾赢得Mobile Development Studio称号。Kyle在20世纪90年代初就开始从事软件开发工作,并始终专注于基于苹果公司平台的开发,他在iOS开发方面已经出版和共同出版了多种著作,包括Beginning iOS Game Center Development、Beginning Social Game Development和iOS Components and Frameworks。利用管理MartianCraft公司每日运营的同时,Kyle还要在全球出差,介绍有关开发和公司管理的经验。现在佛罗里达群岛是他的家,因为在那里他要花时间陪伴他可爱的边境牧羊犬。你也可以通过@kylerichter在Twitter上找到他。 Joe Keeley是MartianCraft公司的合伙人及首席工程师。Joe为iOS客户项目提供技术指导并主导了许多成功的项目。他从Apple Ⅱ开始就热衷于程序开发,在他的职业生涯中从事过许多不同技术和系统项目的开发。在美国,Joe出版了多种有关iOS和Mac技术开发的参考书。Joe和妻子及两个女儿居住在科罗拉多州丹佛市,在闲暇时间他喜欢从事击剑运动。他在Twitter上的名字是@jwkeeley。 目录 第1章UIKitDynamics 1.1示例程序 1.2UIKitDynamics介绍 1.3UIKitDynamics具体实现 1.3.1重力效果 1.3.2碰撞效果 1.3.3附着效果 1.3.4弹跳效果 1.3.5瞬间位移 1.3.6推力效果 1.3.7元素属性 1.4深入了解UIDynamicAnimator和UIDynamicAnimatorDelegate 1.5小结 第2章CoreLocation、MapKit和Geofencing框架 2.1示例程序 2.2获取用户位置 2.2.1请求和允许 2.2.2检查服务 2.2.3开始位置请求 2.2.4解析和理解位置数据 2.2.5重大变更通知 2.2.6使用GPX文件测试指定位置 2.3显示地图 2.3.1了解坐标系 2.3.2MKMapKit配置和自定义 2.3.3对用户操作的响应 2.4地图标注和覆盖物 2.4.1添加标注 2.4.2显示标准和自定义的标注视图 2.4.3可拖曳的标注视图 2.4.4使用地图覆盖物 2.5地理编码和反向地理编码 2.5.1对地址进行地理编码 2.5.2对位置进行反向地理编码 2.6地理围栏 2,6.1判断区域监控是否可用 2.6.2定义边界 2.6.3监控变更 2.7获取路径 2.8小结 第3章排行榜 3.1示例程序 3.1.1弹出仙人掌 3.1.2仙人掌间的相互影响 3.1.3显示生命值和得分 3.1.4暂停和恢复 3.1.5有关Whack—a—Cac游戏的最后问题 3.2iTunesConnect 3.3GameCenter管理器 3.4认证 3.4.1常见的认证错误 3.4.2iOS6和新的认证系统 3.5提交得分 3.5.1向Whack—a—Cac中添加得分 3.5.2展示排行榜 3.5.3得分挑战 3.5.4深入讨论排行榜 3.6小结 第4章成就系统 4.1iTunes Connect 4.2显示成就进度 4.3Game Center Manager和认证 4.4成就系统缓存 4.5上报成就系统 4.6添加成就关联 4.7进度完成通知栏 4.8成就挑战系统 4.9向Whack—a—Cac添加成就系统 4.9.1是否达成成就 4.9.2部分完成的成就 4.9.3多会话成就 4.9.4携带成就和保存成就精度 4.9.5基于时间的成就 4.10重置成就系统 4.11深入讨论成就系统 4.12小结 第5章Address Book框架初步 5.1支持Address Book很重要 5.2Address Book开发的限制 5.3示例程序 5.4开始实现Address Book并运行 5.4.1从Address Book读取数据 5.4.2从Address Book读取多值数据 5.4.3理解Address Book标签 5.4.4处理地址信息 5.5Address Book图形用户界面 5.6编写代码来创建联系人 5.7小结 第6章Music Libraries框架 6.1示例程序 6.2创建播放引擎 6.2.1注册播放通知 6.2.2用户控制 6.2.3处理状态改变 6.2.4时长和计时器 6.2.5随机播放和循环播放 6.3资源选择器 6.4编程实现选择器 6.4.1播放随机歌曲 6.4.2谓词匹配 6.5小结 第7章实现HealthKit框架 7.1HealthKit介绍 7.2Health.app介绍 7.3示例程序 7.4向项目添加HealthKit 7.5请求授权Health Data 7.6读取HealthKit特征数据 7.7读写基本的HealthKit数据 7.8读写复杂的HealthKit数据 7.9小结 第8章实现HomeKit框架 8.1示例程序 8.2HomeKit介绍 8.3设置HomeKit组件 8.3.1设置开发者账号 8.3.2启用HomeKit功能 8.3.3家庭管理器 8.3.4家庭 8.3.5房间和区域 8.3.6附件 8.3.7服务和服务组 8.3.8动作和动作集 8.4使用HomeKit AccessorySimulator进行测试 8.5使用触发器计划动作 8.6小结 第9章JSON的使用和解析 9.1JSON 9.1.1使用JSON的好处 9.1.2JSON资源 9.2示例程序 9.3访问服务器 9.4从服务器获取JSON 9.4.1创建请求 9.4.2检查反馈 9.4.3解析JSON 9.4.4显示数据 9.5发送消息 9.5.1JSON数据编码 9.5.2向服务器发送JSON数据 9.6小结 第10章通知机制 10.1本地通知和推送通知的区别 10.2示例程序 10.3应用设置 10.4创建Development Push SSLCertificate 10.5开发配置文件 10.6准备自定义声音 10.7注册通知 10.8设置本地通知 10.9接收通知 10.10推送通知服务器 10.11发送推送通知 10.12处理APNs反馈 10.13小结 第11章基于CloudKit的云存储 11.1CloudKit基础 11.2示例程序 11.3设置CloudKit项目 11.3.1账户设置 11.3.2启用iCloud功能 11.4CloudKit概念 11.4.1容器 11.4.2数据库 11.4.3记录 11.4.4记录区域 11.4.5记录标识符 11.4.6asset对象 11.5CloudKit基础操作 11.5.1获取记录 11.5.2创建并保存记录 11.5.3更新和保存记录 11.6订阅和推送 11.6.1推送设置 11.6.2数据变更的订阅 11.7用户发现和管理 11.8在dashboard中管理数据 11.9小结 第12章extension 12.1extension的类型 12.1.1Today 12.1.2Share 12.1.3Action 12.1.4Photo Editing 12.1.5Document Provider 12.1.6Custom Keyboard 12.2理解extension 12.3API限制 12.4创建extension 12.5Today extenSion 12.6在host app和extension间共享代码和信息 12.7Apple Watch eXtenSion 12.8小结 第13章Handoff 13.1示例程序 13.2Handoff基础 13.3实现Handoff 13.3.1创建用户活动 13.3.2继续执行一个活动 13.4在基于文档的应用中实现Handoff 13.5小结 第14章AirPrint 14.1AirPrint打印机 14.2测试AirPrint 14.3打印文本 14.3.1打印信息 14.3.2设置页面范围 14.3.3UISimpleTextPrint—Fonnatter 14.3.4错误处理 14.3.5开始一个打印任务 14.3.6打印机模拟器反馈 14.4打印中心 14.5打印呈现的HTML 14.6打印PDF 14.7小结 第15章开始使用Core Data 15.1Core Data的选择 15.2示例程序 15.3开始一个Core Data项目 15.4创建托管对象模型 15.4.1创建实体 15.4.2添加特性 15.4.3建立关系 15.4.4自定义托管对象子类 15.5设置默认数据 15.5.1插入新的托管对象 15.5.2其他默认的数据设置方法 15.6显示托管对象 15.6.1创建取回请求 15.6.2根据对象ID取回托管对象 15.6.3显示对象数据 15.6.4使用谓词 15.7取回结果控制器介绍 15.7.1准备取回结果控制器 15.7.2整合表视图和取回结果控制器 15.7.3对Core Data变化的响应 15.8添加、编辑和删除托管对象 15.8.1插入新的托管对象 15.8.2删除托管对象 15.8.3编辑现有的托管对象 15.8.4保存和回滚修改 15.9小结 第16章使用社交框架整合Twitter和Facebook 16.1示例程序 16.2用户登录 16.3使用SLCompose View—Controller 16.4使用自定义界面发送消息 16.4.1向Twitter发送消息 16.4.2向Facebook发送消息 16.4.3创建Facebook应用 16.5访问用户时间轴 16.5.1Twitter 16.5.2Facebook 16.6小结 第17章后台任务处理 17.1示例程序 17.2检查后台运行的可行性 17.3在后台完成任务 17.3.1后台任务标识符 17.3.2超时处理程序 17.3.3完成后台任务 17.4实现后台活动 17.4.1后台活动的类型 17.4.2在后台播放音乐 17.5小结 …… 第18章多线程开发的性能 第19章使用Keychain和Touch ID保护并访问数据 第20章处理图片和过滤器 第21章集合视图 第22章TextKit介绍 第23章手势识别 第24章访问照片库 第25章Passbook和PassKit 第26章调试和工具

2018-03-09

React Native 开发指南.pdf

本书是一本实践指南,从基础知识入手,逐步深入,带领读者部署可100%代码复用的、成熟的跨平台移动应用。作者通过示例代码向Web开发者和前端工程师展示了如何使用移动组件构建界面并编写样式,以及如何调试和部署应用。除了框架本身的讲解,作者还探讨了如何使用第三方库,以及如何编写自己的Java或者Objective-C的React Native扩展。 - 了解React Native如何开放原生UI组件接口 - 类比HTML元素,了解该框架如何使用原生组件 - 创建自己的React Native组件和应用,并为它们编写样式 - 为该框架不支持的API和功能安装第三方模块 - 使用工具来调试代码,并解决JavaScript之外的问题 - 整合所学知识,开发一款高效记忆闪卡应用——Zebreto - 部署应用至iOS应用商店和Google Play商店 媒体推荐 “Bonnie在书中讲解了React Native重要的知识,帮助你建立扎实的开发基础!认真研读本书后,你将拥有足够的信心继续去探索并学习更多的知识。” —— Brent Vatne Exponent开发者,React Native核心贡献者 作者简介 作者:[美]艾森曼(Bonnie Eisenman) 译者:黄为伟 Bonnie Eisenman是Twitter公司的软件工程师,曾就职于Codecademy、Google和Fog Creek Software公司。她曾在多个会议上作过演讲,话题涉及React、音乐编程和Arduino。工作之余,她乐于开发电子乐器,喜爱使用激光切割巧克力,并且热爱学习各种语言。 目录 目录 前言 xi 第1章 初识React Native 1 1.1 React Native的优点 2 1.1.1 开发者体验 2 1.1.2 代码复用与知识共享 3 1.2 风险和缺点 4 1.3 小结 4 第2章 React Native工作原理 5 2.1 React Native是如何工作的 5 2.2 渲染周期 7 2.3 在React Native中创建组件 7 2.3.1 编写视图 7 2.3.2 使用JSX 9 2.3.3 原生组件的样式 10 2.4 宿主平台接口 11 2.5 小结 12 第3章 构建你的第一个应用 13 3.1 搭建环境 13 3.1.1 安装React Native 14 3.1.2 iOS依赖 14 3.1.3 Android依赖 14 3.2 创建一个新的应用 17 3.2.1 在iOS平台运行React Native应用 18 3.2.2 部署到iOS设备 20 3.2.3 在Android平台运行React Native应用 23 3.2.4 小结:创建并运行项目 24 3.3 探索示例代码 24 3.3.1 添加组件到视图中 24 3.3.2 React Native中的模块导入 25 3.3.3 FirstProject组件 26 3.4 开发天气应用 27 3.4.1 处理用户输入 28 3.4.2 展现数据 30 3.4.3 添加背景图片 34 3.4.4 从Web获取数据 36 3.4.5 整合 37 3.5小结 40 第4章 移动应用组件 42 4.1 类比HTML元素与原生组件 42 4.1.1 文本组件 43 4.1.2 图片组件 45 4.2 处理触摸和手势 46 4.2.1 使用TouchableHighlight 47 4.2.2 GestureResponder系统 49 4.2.3 PanResponder 52 4.3 使用结构化组件 58 4.3.1 使用ListView 58 4.3.2 使用Navigator 66 4.3.3 其他结构化组件 68 4.4 平台特定组件 69 4.4.1 iOS或Android特定组件 69 4.4.2 平台特定版本的组件 70 4.4.3 何时使用平台特定组件 74 4.5 小结 74 第5章 样式 75 5.1 声明和操作样式 75 5.1.1 内联样式 76 5.1.2 对象样式 76 5.1.3 使用Stylesheet.Create 77 5.1.4 样式拼接 77 5.2 组织和继承 79 5.2.1 导出样式对象 79 5.2.2 样式作为属性传递 80 5.2.3 复用和共享样式 81 5.3 定位和设计布局 81 5.3.1 使用flexbox布局 82 5.3.2 使用绝对定位 86 5.3.3 学以致用 86 5.4 小结 91 第6章 平台接口 92 6.1 使用定位接口 93 6.1.1 获取用户地理位置 93 6.1.2 处理权限问题 94 6.1.3 在iOS模拟器上测试定位 95 6.1.4 监听用户位置 96 6.1.5 限制 96 6.1.6 改进天气应用 96 6.2 使用用户图片与摄像头 99 6.2.1 相机模块 99 6.2.2 通过getPhotoParams获取图片 101 6.2.3 从相机渲染一张图片 101 6.2.4 展示照片列表 103 6.2.5 上传图片至服务器 107 6.3 AsyncStore持久化数据存储 108 6.4 智能天气应用 109 6.4.1 WeatherProject组件 111 6.4.2 Forecast组件 114 6.4.3 Button组件 115 6.4.4 LocationButton组件 116 6.4.5 PhotoBackdrop组件 117 6.5 小结 119 第7章 模块 120 7.1 使用npm安装JavaScript类库 120 7.2 iOS原生模块 121 7.2.1 导入第三方组件 122 7.2.2 使用视频组件 125 7.2.3 剖析Objective-C原生模块 125 7.2.4 RCTVideo的实现 128 7.3 Android原生模块 130 7.3.1 安装第三方组件 130 7.3.2 剖析Java原生模块 134 7.3.3 LinearGradient的Android实现 137 7.4 跨平台原生模块 139 7.5 小结 141 第8章 调试与开发者工具 142 8.1 JavaScript调试实践和解释 142 8.1.1 激活开发者选项 142 8.1.2 使用console.log调试 143 8.1.3 使用JavaScript调试器 145 8.1.4 使用React开发者工具 146 8.2 React Native调试工具 147 8.2.1 使用审查元素功能 147 8.2.2 宕机红屏 148 8.3 JavaScript之外的调试方法 152 8.3.1 常见的开发环境问题 153 8.3.2 常见的Xcode问题 153 8.3.3 常见的Android问题 154 8.3.4 React Native包管理器 155 8.3.5 部署至iOS设备的问题 156 8.3.6 模拟器行为 157 8.4 测试代码 158 8.4.1 使用Flow进行类型检查 158 8.4.2 使用Jest进行测试 158 8.5 当你陷入困境 160 8.6 小结 160 第9章 学以致用 161 9.1 闪卡应用 161 9.1.1 项目结构 163 9.1.2 组件层次结构 164 9.2 模型与数据存储 168 9.2.1 数据流架构:Reflux与Flux 170 9.2.2 在Zebreto中使用Reflux 173 9.2.3 AsyncStorage与Reflux Store的持久化 175 9.3 使用Navigator 177 9.4 探索第三方依赖 180 9.5 响应式设计与字体尺寸 180 9.6 小结及任务 183 第10章 部署至iOS应用商店 184 10.1 准备Xcode工程 184 10.1.1 选择支持的设备和目标iOS版本 185 10.1.2 启动界面图像 186 10.1.3 添加应用图标 188 10.1.4 设置Bundle名称 190 10.1.5 更新AppDelegate.m 190 10.1.6 为发布设置Schema 191 10.2 上传应用 192 10.2.1 完成协议文书 192 10.2.2 创建归档 193 10.2.3 在iTunes Connect上创建应用 196 10.3 使用TestFlight进行Beta测试 199 10.4 提交应用审核 200 10.5 小结 201 第11章 部署Android应用 203 11.1 设置应用图标 203 11.2 生成release版本的APK 205 11.3 通过邮件或链接发布 207 11.4 提交应用至Play商店 207 11.4.1 通过Play Store进行Beta测试 209 11.4.2 Play商店列表 210 11.4.3 商店列表所需的资源 211 11.4.4 发布应用 212 11.5 小结 214 总结 215 附录A ES6语法 216 附录B 命令与快速入门指南 219 作者简介 221 关于封面 221

2018-03-09

Unity 3D脚本编程 使用C#语言开发跨平台游戏

作者简介 本书的作者陈嘉栋长期关注Unity 3D、Mono以及C#语言,并且在博客园、游戏蛮牛以及InfoQ网站以“慕容小匹夫”的笔名发表过多篇博客和文章,更是在2015年获得了微软最有价值专家(MVP)的称号。 目录 第1章HelloUnity 3D 1.1Unity 3D游戏引擎进化史 1.2Unity 3D编辑器初印象 1.2.1Project视图 1.2.2Inspector视图 1.2.3Hierarchy视图 1.2.4Game视图 1.2.5Scene视图 1.2.6绘图模式 1.2.7渲染模式 1.2.8场景视图控制 1.2.9Effects菜单和Gizmos菜单 1.3Unity 3D的组成 1.4为何需要游戏脚本 1.5本章总结 第2章Mono所搭建的脚本核心基础 2.1Mono是什么 2.1.1Mono的组成 2.1.2Mono运行时 2.2Mono如何扮演脚本的角色 2.2.1Mono和脚本 2.2.2Mono运行时的嵌入 2.3Unity 3D为何能跨平台?聊聊CIL 2.3.1Unity 3D为何能跨平台 2.3.2CIL是什么 2.3.3Unity 3D如何使用CIL跨平台 2.4脚本的选择,C#或JaVaScript 2.4.1最熟悉的陌生人——UnityScript 2.4.2UnityScript与JaVaScript 2.4.3C#与UnityScript 2.5本章总结 第3章Unity 3D脚本语言的类型系统 3.1C#的类型系统 3.2值类型和引用类型 3.3Unity 3D脚本语言中的引用类型 3.4Unity 3D游戏脚本中的值类型 3.4.1Vector2.Vector3以及Vector4 3.4.2其他常见的值类型 3.5装箱和拆箱 3.6本章总结 第4章Unity 3D中常用的数据结构 4.1Array数组 4.2ArrayList数组 4.3List<T>数组 4.4C#中的链表——LinkedList<T> 4.5队列(Queue<T>和栈(Stack<T> 4.6HashTable(哈希表)和Dictionary<K,T>(字典) 4.7本章总结 第5章在Unity 3D中使用泛型 5.1为什么需要泛型机制 5.2Unity 3D中常见的泛型 5.3泛型机制的基础 5.3.1泛型类型和类型参数 5.3.2泛型类型和继承 5.3.3泛型接口和泛型委托 5.3.4泛型方法 5.4泛型中的类型约束和类型推断 5.4.1泛型中的类型约束 5.4.2类型推断 5.5本章总结 第6章在Unity 3D中使用委托 6.1向Unity 3D中的SendMessage和BroadcastMessage说拜拜 6.2认识回调函数机制——委托 6.3委托是如何实现的 6.4委托是如何调用多个方法的 6.5用事件(Event)实现消息系统 6.6事件是如何工作的 6.7定义事件的观察者,实现观察者模式 6.8委托的简化语法 6.8.1不必构造委托对象 6.8.2匿名方法 6.8.3Lambda表达式 6.9本章总结 第7章Unity 3D中的定制特性 7.1初识特性——Attribute 7.1.1Dlllmport特性 7.1.2Serializable特性 7.1.3定制特性到底是谁 7.2Unity 3D中提供的常用定制特性 7.3定义自己的定制特性类 7.4检测定制特性 7.5亲手拓展Unity 3D的编辑器 7.6本章总结 第8章Unity 3D协程背后的迭代器 8.1初识Unity 3D中的协程 8.1.1使用StartCoroutine方法开启协程 8.1.2使用StopCoroutine方法停止一个协程 8.2使用协程实现延时效果 8.3Unity 3D协程背后的秘密——迭代器 8.3.1你好,迭代器 8.3.2原来是状态机 8.3.3状态管理 8.4WWW和协程 8.5Unity 3D协程代码实例 8.6本章总结 第9章在Unity 3D中使用可空型 9.1如果没有值 9.2表示空值的一些方案 9.2.1使用魔值 9.2.2使用标志位 9.2.3借助引用类型来表示值类型的空值 9.3使用可空值类型 9.4可空值类型的简化语法 9.5可空值类型的装箱和拆箱 9.6本章总结 …… 第10章从序列化和反序列化看Unity 3D的存储机制 第11章移动平台动态读取外部文件 第12章在Unity 3D中使用AssetBundle 第13章Unity 3D优化 第14章Unity 3D的脚本编译

2018-03-09

南梦宫 - Unity游戏设计与实现.pdf

《Unity游戏设计与实现:南梦宫一线程序员的开发实例》出自日本知名游戏公司万代南梦宫的资深开发人员之手,面向初级游戏开发人员,通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。《Unity游戏设计与实现:南梦宫一线程序员的开发实例》的重点并不在于讲解Unity的各种功能细节,而在于核心玩法的设计和实现思路。每个实例都从一个idea开始,不断丰富,自然而然地推出各种概念,引导读者思考必要的数据结构和编程方法。掌握了这些思路,即便换成另外一种引擎,也可以轻松地开发出同类型的游戏。

2018-03-09

Unity人工智能游戏开发(第二版)

《Unity人工智能游戏开发(第2版)》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。 作者简介 作者:(美国)雷·巴雷拉(Ray Barrera) 译者:张颖 目录 第1章游戏AI的基础知识 1.1创建生活幻象 1.2利用AI进一步完善游戏 1.3在Unity使用AI 1.4定义主体 1.5有限状态机概述 1.6通过主体视角查看场景 1.7路径跟踪 1.7.1A*寻路 1.7.2使用网格导航 1.8群集方案 1.9行为树 1.10模糊逻辑 1.11本章小结 第2章有限状态机 2.1FSM应用 2.2生成状态机行为 2.2.1生成AnimationController资源 2.2.2Layers项和Parameters项 2.2.3动画控制查看器 2.2.4行为的图像化 2.2.5生成第一个状态 2.2.6状态间的转换 2.3创建玩家坦克对象 2.4生成敌方坦克对象 2.4.1选择转换 2.4.2实现过程 2.5本章小结 第3章实现感知系统 3.1基本的感知系统 3.1.1视锥 3.1.2基于球体的听觉、感觉和嗅觉 3.1.3扩展AI 3.1.4感知系统的创新 3.2构建场景 3.3创建玩家坦克 3.3.1实现玩家坦克 3.3.2实现Aspect类 3.4创建AI角色 3.5使用Sense类 3.6视见功能 3.7触觉系统 3.8测试结果 3.9本章小结 第4章寻路方案 4.1路径跟踪 4.1.1路径脚本 4.1.2使用路径跟踪器 4.1.3躲避障碍物 4.1.4添加定制层 4.1.5实现躲避逻辑 4.2A*寻路算法 4.2.1算法回顾 4.2.2算法实现 4,3导航网格 4.3.1构建地图 4.3.2静态障碍物 4.3.3导航网格的烘焙 4.3.4使用NavMesh主体对象 4.3.5设置目的地 4.3.6Target类 4.3.7斜面测试 4.3.8区域探索 4.3.9Off Mesh Links连接 4.3.10生成Off Mesh Links 4.3.11设置Off Mesh Links 4.4本章小结 第5章群集行为 5.1群集算法初探 5.2理解群集算法背后的概念 5.3Unity示例中的群集行为 5.3.1模拟个体行为 5.3.2创建控制器 5.4替代方案 5.5使用人群群集算法 5.5.1实现简单的群集模拟 5.5.2使用CrowdAgent组件 5.5.3添加障碍物 5.6本章小结 第6章行为树 6.1行为树的基本概念 6.1.1理解不同的节点类型 6.1.2定义复合节点 6.1.3理解修饰节点 6.1.4描述叶节点 6.2估算现有方案 6.3实现基本的行为树框架 6.3.1实现Node基类 6.3.2将节点实现于选取器上 6.3.3序列的实现 6.3.4将修饰节点实现为反相器 6.3.5创建通用行为节点 6.4框架测试 6.4.1行为树的规划 6.4.2检查场景构建结果 6.4.3考察MathTree节点 6.4.4执行测试 6.5本章小结 第7章模糊逻辑 7.1定义模糊逻辑 7.2模糊逻辑应用 7.2.1实现简单的模糊逻辑系统 7.2.2扩展集合 7.2.3数据的逆模糊化 7.3使用观测数据 7.4模糊逻辑的其他应用 7.4.1加入其他概念 7.4.2创建独特的体验 7.5本章小结 第8章整合过程 8.1制定规则 8.2创建高塔对象 8.3构建坦克对象 8.4构建场景环境 8.5测试示例 8.6本章小结

2018-03-09

iOS Auto Layout开发秘籍(英文版)

iOS Auto Layout开发秘籍的英文原版,学习苹果自动布局的好资料,可惜一直没找到中文版的,只好啃啃原著了。

2017-09-24

Objective-C编程之道:iOS设计模式解析(中文带书签版).pdf

Objective-C编程之道:iOS设计模式解析(中文带书签版).pdf

2017-08-19

Apress Pro Android Cplusplus with the NDK

Apress Pro Android Cplusplus with the NDK英文原版pdf,非扫描版

2017-05-26

Packt Hacking Android(源码)

Packt Hacking Android随书配套源码

2017-05-26

Packt Hacking Android

Packt Hacking Android英文原版pdf,非扫描版

2017-05-26

Apress Pro Android UI

Apress Pro Android UI英文原版pdf,非扫描版

2017-05-26

高焕堂Android系统架构相关资料

台湾高焕堂老师Android系统架构详细讲解的配套资料,繁体版

2017-05-26

Apress Android Best Pratices(Android最佳实践英文原版)

Android最佳实践英文原版,国外大神的经验总结,很有启发性。

2017-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除