凉鞋的笔记

liangxiegame.com

Unity 游戏框架搭建 (二十三) 重构小工具 Platform

在日常开发中,我们经常遇到或者写出这样的代码 var sTrAngeNamingVariable = "a variable"; #if UNITY_IOS || UNITY_ANDROID || UNITY_EDITOR s...

2018-06-21 18:02:31

阅读数 324

评论数 0

Unity 游戏框架搭建 (二十二) 简易引用计数器

引用计数是一个很好用的技术概念,不要被这个名字吓到了。首先来讲讲引用计数是干嘛的。 引用计数使用场景 有一间黑色的屋子,里边有一盏灯。当第一个人进屋的时候灯会打开,之后的人进来则不用再次打开了,因为已经开过了。当屋子里的所有人离开的时候,灯则会关闭。 我们先定义灯的对象模型: ...

2018-06-14 22:22:53

阅读数 483

评论数 0

Unity 游戏框架搭建 (二十一) 使用对象池时的一些细节

上篇文章使用SafeObjectPool实现了一个简单的Msg类。代码如下: class Msg : IPoolAble,IPoolType { #region IPoolAble 实现 public void O...

2018-06-11 09:33:56

阅读数 181

评论数 0

Unity 游戏框架搭建 (二十) 更安全的对象池

上篇文章介绍了,只需通过实现 IObjectFactory 接口和继承 Pool 类,就可以很方便地实现一个SimpleObjectPool。SimpleObjectPool 可以满足大部分的对象池的需求。而笔者通常将 SimpleObjectPool 用于项目开发,原因是接入比较方便,适合在发现...

2018-06-06 19:13:48

阅读数 85

评论数 0

Unity 游戏框架搭建 (十九) 简易对象池

在Unity中我们经常会用到对象池,使用对象池无非就是解决两个问题: 一是减少new时候寻址造成的消耗,该消耗的原因是内存碎片。 二是减少Object.Instantiate时内部进行序列化和反序列化而造成的CPU消耗。 想进一步了解对象池模式优化原理的同学可以参阅: 对象池模式:http...

2018-06-05 13:17:22

阅读数 996

评论数 0

Unity 游戏框架搭建 (十八) 静态扩展 + 泛型实现transform的链式编程

本篇文章介绍如何实现如下代码的链式编程: this.Position(Vector3.one) .LocalScale(1.0f) .Rotation(Qua...

2018-06-04 13:21:52

阅读数 180

评论数 0

Unity 游戏框架搭建 (十七) 静态扩展GameObject实现链式编程

本篇本来是作为原来优雅的QChain的第一篇的内容,但是QChain流产了,所以收录到了游戏框架搭建系列。本篇介绍如何实现GameObject的链式编程。 链式编程的实现技术之一是C#的静态扩展。静态扩展可以做到无需继承GameObject就可以为GameObject的对象添加成员方法。其实这么...

2018-06-01 20:38:41

阅读数 203

评论数 0

Unity 游戏框架搭建 (十六) v0.0.1 架构调整

背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题。 QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework。 QFramework定义了太多了命名空间,如果使用vs for mac或者MonoDevelop开发项目很...

2017-11-13 09:21:45

阅读数 230

评论数 0

Unity 游戏框架搭建 (十五) 优雅的QChain (零)

加班加了三个月终于喘了口气,博客很久没有更新了,这段期间框架加了很多Feature,大部分不太稳定,这些Feature中实现起来比较简单而且用的比较稳定的就是链式编程支持了。 什么是链式编程? 我想大家应该都接触过DOTween,用起来是这样的。 C# transform.DOMove...

2017-11-13 09:21:25

阅读数 195

评论数 0

优雅的QSignleton (五) 优雅地进行GameObject命名

这段时间空调吹感冒了,休息了好久 ​ 本篇介绍QSingleton最重要的功能,是它让QSingleton称得上优雅。相关内容之前介绍过。 代码如下: MonoSingletonPath.cs namespace QFramework.Example { using Uni...

2017-11-13 09:21:04

阅读数 160

评论数 0

优雅的QSignleton (四) 通过属性器实现MonoSingleton

大家都出去过周六了,而我却在家写代码T.T...   接下来介绍通过属性器实现MonoSingleton。 代码如下: MonoSingletonProperty.cs namespace QFramework.Example { using System.Collection...

2017-11-13 09:20:33

阅读数 202

评论数 0

优雅的QSignleton (三) 通过属性器实现Singleton

接下来介绍,不通过继承的方式实现单例模式。大家都出去嗨了,而我却在家码代码... 代码如下: MonoSingletonProperty.cs namespace QFramework.Example { using UnityEngine; class Class2S...

2017-11-08 09:13:10

阅读数 127

评论数 0

优雅的QSignleton (二) MonoSingleton单例实现

MonoSingleton.cs namespace QFramework.Example { using System.Collections; using UnityEngine; class Class2MonoSingleton : QMonoSing...

2017-11-08 09:12:55

阅读数 186

评论数 0

优雅的QSignleton (一) Singleton单例实现

接下来笔者来介绍如何用QSingleton实现一个简单的单例。 代码如下。 Singleton.cs namespace QFramework.Example { using UnityEngine; class Class2Singleton :QSingleton ...

2017-11-08 09:10:00

阅读数 196

评论数 0

Unity 游戏框架搭建 (十四) 优雅的QSignleton(零) QuickStart

好久不见 !之前想着让各位直接用QFramework,但是后来想想,如果正在进行的项目直接使用QFramework,这样风险太高了,要改的代码太多,所以打算陆续独立出来一些工具和模块,允许各位一个模块一个模块的进行更换,减少更换带来的风险。 QSingleton:   之前有几篇文章介绍过单例...

2017-11-08 09:08:17

阅读数 167

评论数 0

Unity 游戏框架搭建 (十三) 无需继承的单例的模板

之前的文章中介绍的Unity 游戏框架搭建 (二) 单例的模板和Unity 游戏框架搭建 (三) MonoBehaviour单例的模板有一些问题。 存在的问题: 只要继承了单例的模板就无法再继承其他的类。 虽然单例继承其他类是比较脏的设计,但是难免会遇到不得不继承的时候。没有最好的设计,...

2017-11-08 09:07:07

阅读数 366

评论数 0

Unity 游戏框架搭建 (十二) 简易AssetBundle打包工具(二)

上篇文章中实现了基本的打包功能,在这篇我们来解决不同平台打AB包的问题。 本篇文章的核心api还是: BuildPipeline.BuildAssetBundles (outPath, 0, EditorUserBuildSettings.activeBuildTarget); 在第三...

2017-11-08 09:05:26

阅读数 119

评论数 0

Unity 游戏框架搭建 (十一) 简易AssetBundle打包工具(一)

最近在看Unity官方的AssetBundle(以下简称AB)的教程,也照着做了一遍,不过做出来的AssetBundleManager的API设计得有些不太习惯。目前想到了一个可行的解决方案。AB相关的内容有点多,所以为了良好的阅读体验,就把教程分为几个小文章,一次写一个点。 1. Asset...

2017-11-08 09:04:55

阅读数 145

评论数 0

Unity 游戏框架搭建 (十) QFramework v0.0.2小结

从框架搭建系列的第一篇文章开始到现在有四个多月时间了,这段时间对自己来说有很多的收获,好多小伙伴和前辈不管是在评论区还是私下里给出的建议非常有参考性,在此先谢过各位。 说到是一篇小节,先列出框架的概要图。 目前,图中除了UI模块和未支持的部分,都有相应的文章来介绍。 设计模式: Uni...

2017-11-08 09:04:33

阅读数 181

评论数 0

Unity 游戏框架搭建 (九) 减少加班利器-QConsole

为毛要实现这个工具? 在我小时候,每当游戏在真机运行时,我们看到的日志是这样的。 没高亮啊,还有乱七八糟的堆栈信息,好干扰日志查看,好影响心情。 还有就是必须始终连着usb线啊,我想要想躺着测试。。。 以上种种原因,QConsole诞生了。 如何使用? 使用方式和QLog一样,在初始化...

2017-11-08 09:04:14

阅读数 199

评论数 0

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