《看门狗》系列游戏中,网络绕接(Network Bypass)是其中一种解谜小玩法,其目标是通过旋转一些通路节点来打通通路,最终解锁目标节点。下图展示了一个游戏中的示例,看一遍应该就能明白。
鉴于这个玩法非常简单,闲暇时正好拿来作为练手项目。本文描述了该项目大致的设计思路。Github项目地址
《看门狗》系列游戏中,网络绕接(Network Bypass)是其中一种解谜小玩法,其目标是通过旋转一些通路节点来打通通路,最终解锁目标节点。下图展示了一个游戏中的示例,看一遍应该就能明白。
鉴于这个玩法非常简单,闲暇时正好拿来作为练手项目。本文描述了该项目大致的设计思路。Github项目地址
Sublime Text 3编辑器的代码高亮(主题)效果不错,本文介绍如何使用ST3将其打印成PDF。
UISprite是NGUI最基本的图片显示控件之一。它的基类UIBasicSprite承载了绝大多数的显示逻辑,本文记录其各种填充方法的原理。要显示一个sprite,必定会有一个管理sprite的图集,最后会记录UIAtlas的一些基本要点。
【参考版本:NGUI 3.6.9】
UIInput是NGUI的输入控件,其在PC端表现为一个文本框,而在手机端则会拉起系统的键盘。本文主要记录其基本用法和原理,以及一些重要的实现和工具方法。
【参考版本:NGUI 3.6.9】
UIScrollView是NGUI支持滚动和拖拽的内容容器,可以和scroll bar联动。本文主要记录其相对滚动原理和核心方法,以及如何利用UIWrapContent优化滚动。了解了UIWrapContent的实现原理之后,可以在其上扩展和封装游戏UI中常见的数据展示控件。
【参考版本:NGUI 3.6.9】
UILabel是NGUI中用于显示文字的控件。其核心思想是遍历每个字符,将其转化为字体贴图的数据。本篇会抛开BBCode解析,表情符symbol解析,特殊效果(阴影、描边等)等细节,只记录几个渲染字体的核心方法。NGUI有独立的一套BMFont管理工具和类,等以后再另开篇章讲解。
【参考版本:NGUI 3.6.9】
UICamera是NGUI中专门用于捕获和分发交互事件的脚本,和UI渲染无关,需要挂在UI摄像机上。其核心思想是在Update中检测Input的各种输入情况,并对屏幕做raycast投射,以决定是哪个go的collider触发事件,最终将事件分发出去。
【参考版本:NGUI 3.8.1】
往往设计模式的书都是教人如何使用模式,唯独单例模式需要谨慎对待,甚至避免使用。像其他设计决策一样,一旦将一些不必要的单例进行了硬编码,就会带来麻烦。本文描述了单例模式的一些常见问题,以及一些参考解决方案。虽然单例模式存在一些问题,但只要不滥用并仔细思考设计,还是可以享受它带来的好处的。