QXSoftware


千里之行,始于足下。

初识 Django

Django 是一个重量级的 Web 框架,很多成功的网站和 App 都是基于 Django 开发的。 Django 开发必备 Python3 PyCharm Community Edition Django 使用 python 开发,推荐安装 Python3,并且使用 pi...

Unity SDK 环境搭建(Android Studio)

Android Studio 环境搭建 本文用于搭建配合 Unity 使用的 Android Studio 开发环境。 Android SDK 下载安装 Android SDK,并且安装必要的组件。这里说明一下如何设置 Android SDK 的代理。 打开 Android SDK M...

数据一致性

项目中遇到一次“事故”,发现同样的 xml 配置,序列化为二进制数据后,在 Windows 下生成的和在 Mac 下生成的 binary 文件 md5 不一样。 序列化工具是我们自己写的,用的是 C#,但是由于发包需要,序列化过程可能会在 Windows 或 Mac 下执行。 在 Wind...

记一次 Unity 编辑器卡死分析

今天项目中有人反映编辑器频繁卡死,具体表现为取代码重新编译后,点播放按钮后编辑器卡死。于是亲自尝试了一下,发现不编译代码也能触发编辑器卡死。而且是游戏启动进行了一定阶段之后,点退出然后再点播放,就卡死了。 问题分析 于是祭出WinDbg查看Unity的线程栈: 可以看到,Unity主...

Unity MonoBehaviour 销毁事件

对于MonoBehaviour脚本的销毁,有两个接口:Object.Destroy和Object.DestroyImmediate,Unity的文档推荐常规情况使用Object.Destroy。关于这两个接口,也有很多微妙的地方需要注意。 测试用例 首先创建一个测试脚本,如下: pub...

Unity MonoBehaviour 边界条件下的生命周期

从MonoBehaviour继承的脚本类有一个特定的生命周期,可以在Unity的文档里面看到: 一般情况下,一个MonoBehaviour的生命周期如下: Awake => OnEnable => Start => FixedUpdate => Update =...

Unity 阴影

Unity5 自带的阴影技术就是传统的阴影映射或者是屏幕空间的阴影映射。屏幕空间的阴影映射需要MRT(Multiple Render Targets)技术,有的移动端设备不支持这种技术。 渲染阴影还有很多别的方法,但是在目前的移动设备硬件条件下,最常用的就是阴影映射了。 传统的阴影映射(S...

C 语言 typeof 关键字

如何结合使用 C 语言关键字 typeof 实现一个栈结构?下面这段代码使用双向链表实现一个栈: #define StackInit(s) ((s)->prev = (s)->next = (s)) #define StackEmpty(s) ((s)->next == ...