<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qql7267的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qql7267</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qql7267]]></copyright><item><title><![CDATA[【Unity】C#存档与加密]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/128785873</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/128785873</guid><author>qql7267</author><pubDate>Sun, 29 Jan 2023 13:56:30 +0800</pubDate><description><![CDATA[C#的存档的保存与读取，以及对存档的加密解密]]></description><category></category></item><item><title><![CDATA[Unity 来搞一个图文混排吧~]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/122223641</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/122223641</guid><author>qql7267</author><pubDate>Thu, 30 Dec 2021 11:33:19 +0800</pubDate><description><![CDATA[好久没有来更新了，甚至我的账号都掉了，试了半天才搞对密码。
最近也真的是很忙，甚至上周日差点加班，幸好……
废话不多说，开始了！！！
废话

首先说明，这个大标题都是废话，可以跳过。

图文混排，这是一个项目中最常见的功能了。没错，我们的项目也有这个需求，幸运的是，我不会呀！要不也不会来写这片文章了。
不光不会，我甚至觉得这东西贼麻烦，想尽量往后拖。然而他们给我安排的时间实在是太多了，不弄不行了。
于是开始百度一下别人写好的东西。
看到第一种，把要需要的图片打个图集，然后用Mesh贴上去。嗯，局限性很大，根]]></description><category></category></item><item><title><![CDATA[Unity Lua与本地存档之我见我想我写]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/115009890</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/115009890</guid><author>qql7267</author><pubDate>Fri, 19 Mar 2021 19:42:16 +0800</pubDate><description><![CDATA[在几天前（30+天），已经对Sqlite3和pb来制作游戏存档做了讲解。
Unity 通过Sqlite3和lua-protubuf制作游戏存档
今天来讲一下，在Lua中的实用。
我不知道其他独立游戏工作室是如何制作存档的，也不知道他们是用C#还是Lua来做存档。我只是因为项目需要，使用Lua来做对存档做存储和读取。如果有更好的做法，欢迎交流。
接下里是废话，如果不感兴趣，可以直接跳过，直接去看下一个标题。
这个最终做法是经过一周的尝试，改了又改，删了又删，最终找到的一种对我而言，算是比较安全便捷的写法。
一]]></description><category></category></item><item><title><![CDATA[Unity 通过Sqlite3和lua-protubuf制作游戏存档]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/113757676</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/113757676</guid><author>qql7267</author><pubDate>Mon, 08 Feb 2021 17:08:16 +0800</pubDate><description><![CDATA[过年啦，新年快乐~
作为一个独立游戏开发者（其实也没啥做出来的东西），做一个单机游戏，那必然要有存档。
存档的方式有很多，xml，json，PlayerPrefs，sqlite等等。
在和大佬做了充分的交流了之后，决定用sqlite来做，总归上会比其他方式好一些。（至于为啥，我已经忘了）。
那么……

先说一下我的版本搭配：
Unity2019.4.10f1
Xlua
Sqlite3
lua-protobuf
然后说一下存档流程。
使用Sqlite3做一个数据库。

分别是存档ID，创建时间戳，上次存档时间]]></description><category></category></item><item><title><![CDATA[Unity 做一个消耗大了一些但是效果好了一些的Circle Outline]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/109602513</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/109602513</guid><author>qql7267</author><pubDate>Tue, 10 Nov 2020 17:18:07 +0800</pubDate><description><![CDATA[你是否有过这样的经历？当你在Inspector的AddComponent了一个Outline时，它的Alpha值永远需要手动调整一下。
你是否有过这样的经历？当你在一个字号比较大的Text挂上Outline时，它并不是所有的地方都有描边。
来来来，今天就解决这两个问题。
首先第一个，当你Add了一个Outline时。

Color.a一定要只有一半，就一定要手动拉到满。（别问我为什么一定要拉到满，问美术。）
反正，我是烦得很。
so……

using UnityEditor;
using UnityEngi]]></description><category></category></item><item><title><![CDATA[Unity 讲一讲导入的图片自动变成Sprite和自动生成切换场景菜单]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/109468864</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/109468864</guid><author>qql7267</author><pubDate>Tue, 03 Nov 2020 15:07:43 +0800</pubDate><description><![CDATA[五个月之后，我终于想起来了我还有个博客。（要不是双十一花了太多钱，我可能还不会静下心来更一下【狗头】）
今天来讲讲两个功能
1.导入的图片自动转成Sprite类型，免去了每次新导入一张图就要改一下类型的繁琐操作。
2.新创建的场景可以直接在菜单栏的树状目录下显示。免去了新建了临时场景再想变回去时找起来贼麻烦的问题。
首先，讲一个Unity的API AssetPostprocessor
这是一个编辑器类。主要做的就是在你导入资源之后或之前可以来处理一下这些资源。
https://docs.unity3d.co]]></description><category></category></item><item><title><![CDATA[Unity 来讲一讲关于SpriteAtlas的事情]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/106681537</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/106681537</guid><author>qql7267</author><pubDate>Thu, 11 Jun 2020 10:49:54 +0800</pubDate><description><![CDATA[恭喜熊猫先生，在半年的散养状态之后，终于再次开始工作了。（小声比比，今年真的是好难找工作啊。模棱两可的能力，四处碰壁）
SpriteAtlas是unity2017引入的新内容。其实就是图集。最大的好处就是，同一图集里的图片，在渲染的时候，会只产生一个DrawCall。（可能大概也许是这样）
今天就来说一说关于这个东西的几件事情。搜别人的文章，真的是太难了，各种找不到……
以unity2018的api为基础来主要说几个吧。
首先，是存放的问题。
atlas和其要导入的Texture或者Sprite，切记不能放]]></description><category></category></item><item><title><![CDATA[Unity 知识点 关于ForceRebuildLayoutImmediate的坑]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/104026135</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/104026135</guid><author>qql7267</author><pubDate>Sat, 18 Jan 2020 00:35:22 +0800</pubDate><description><![CDATA[萧熊猫先生于一个月前辞职了，为了完成心中的梦想（做个游戏），开始每天在房间里努力做着自己的游戏。（其实每天都在玩）
今天主要讲两个问题。众所周知，策划都是智障。（等等，我现在也算半个策划了……）​经常会有在自适应的layout里嵌套layout，然后再子级的文本和后面的图还要自适应，以及更多的自适应的情况……

​
如果是自己算正确的位置，显然不科学 ，费脑子不说，效率很低，debug过程会让人崩...]]></description><category></category></item><item><title><![CDATA[Unity 通过反射生成文件]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/101026364</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/101026364</guid><author>qql7267</author><pubDate>Thu, 19 Sep 2019 16:40:43 +0800</pubDate><description><![CDATA[为了庆祝关注量+1 所以出来更新一篇
【此篇针对于UNITY】
最近在自己搭破架子 碰到一个问题：
我的Panel类是要在运行时 全部预先创建实例 这就有个很闹心的问题 我加一个新的 就要去预读取类中加上这个类的代码
emmmmm 很闹心 所以就做了工作来生成代码
开始吧~
简单一点 先创建三个类【本来是应该继承自基类的 为了方便 就不继承了】
public class Panel1 : Mono...]]></description><category></category></item><item><title><![CDATA[Lua语法知识点 模拟类]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/93749076</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/93749076</guid><author>qql7267</author><pubDate>Wed, 26 Jun 2019 16:19:09 +0800</pubDate><description><![CDATA[面试的时候经常被问到这个 就先随便弄一下
先贴一下代码 具体讲解等我哪天闲了再去别人那里扒一扒
local aaa = {}
aaa.__index = aaa
local AAA = setmetatable({}, aaa)
if nil ~= AAA then
    _G.AAA = AAA
end

1.定义一个变量 是一个空表
2.这个变量的元方法指向他自己
3.把这个变量通过setm...]]></description><category></category></item><item><title><![CDATA[Unity API通读 EditorGUILayout]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/89328515</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/89328515</guid><author>qql7267</author><pubDate>Tue, 16 Apr 2019 10:33:13 +0800</pubDate><description><![CDATA[EditorGUILayout
自动布局的EditorGUI版本
UnityEditor类 实现接口UnityEditor
·静态方法
BeginFadeGroup
开始一个可以隐藏/显示的组 并将通过动画转换
方法
public static bool BeginFadeGroup(float value);
参数
value 一个介于0和1之间的值 0为隐藏 1为全部可见
返回结果
bool ...]]></description><category></category></item><item><title><![CDATA[Unity API通读 CustomEditor]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/89328308</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/89328308</guid><author>qql7267</author><pubDate>Tue, 16 Apr 2019 10:25:58 +0800</pubDate><description><![CDATA[告诉一个编辑器类是哪种运行类型的编辑器
在为组件制作自定义编辑器时 你需要把这个属性放到编辑器类上
UnityEditor类
·属性
isFallback
如果为true 则仅当所有的非回退编辑器不匹配时才匹配该编辑器 默认为false
·构造函数
CustomEditor
定义自定义编辑器类可以编辑的对象类型
官方文档 version2018.3
https://docs.unity3d.com...]]></description><category></category></item><item><title><![CDATA[Unity 实现点击穿透的另一种办法]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/89245726</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/89245726</guid><author>qql7267</author><pubDate>Fri, 12 Apr 2019 16:51:56 +0800</pubDate><description><![CDATA[最近有一个需求：有一个二级展示界面，在点击空白处时关闭这个界面。如果空白处是一级界面的某个按钮或者滑动条，要执行这个按钮活滑动条的功能。
很闹心，一开始的想法是在二级下面加一个巨大的button，点击关闭。但是这样就无法执行一级界面的方法了。如果不加button，一级界面上的东西那么多，难道要在每个按钮上都加一个关闭二级界面的通知吗……
问了马三能不能做成点击穿透……

他表示这么做麻烦，我只好和...]]></description><category></category></item><item><title><![CDATA[Unity Toggle的勾选关联]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/88019987</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/88019987</guid><author>qql7267</author><pubDate>Thu, 28 Feb 2019 11:37:59 +0800</pubDate><description><![CDATA[最近工作太忙了 没有时间学习 也没时间更博
不过昨天马三小伙儿问了我一个他们公司的需求 帮他想了一下思路 顺便作为一个脚本发个帖吧
顺便祝贺我转正成功
需求：
左侧勾选区域逻辑优化
a. 勾选全部后，所有选项添加勾选状态
b. 勾选全部后，手动去掉任意颜色的勾选（除全部外），全部勾选同时去掉
c. 全部勾选状态下，再次点击全部，取消所有勾选状态
d. 所有颜色的勾选都选中后，自动将将全部选项也勾选...]]></description><category></category></item><item><title><![CDATA[Unity API通读 UnityEngine.Attributes]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/87203390</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/87203390</guid><author>qql7267</author><pubDate>Wed, 13 Feb 2019 20:00:21 +0800</pubDate><description><![CDATA[UnityEngine中的Attributes统一在这里说明一下
AddComponentMenu
该属性允许将脚本放置在组件菜单中的任何位置 而不仅仅是“Component-&amp;amp;amp;amp;amp;gt;Scripts”菜单
使用这个属性可以更好的桂花组件菜单 在添加脚本是改进工作流程
注意：需要重启
UnityEngine类 实现接口UnityEngine.CoreModule
·属性
componentOrder...]]></description><category></category></item><item><title><![CDATA[Unity API通读 UnityEngine.UI.Selectable]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/87110944</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/87110944</guid><author>qql7267</author><pubDate>Tue, 12 Feb 2019 19:52:57 +0800</pubDate><description><![CDATA[UI.Selectable
简单的可选择对象 派生自创建的可选择的组件
继承自EventSystems.UIBehaviour 实现接口IDeselectHandler, IEventSystemHandler, IMoveHandler, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandl...]]></description><category></category></item><item><title><![CDATA[Unity API通读 UnityEngine.MonoBehaviour]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/87097858</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/87097858</guid><author>qql7267</author><pubDate>Tue, 12 Feb 2019 16:43:41 +0800</pubDate><description><![CDATA[MonoBehaviour
一个标准的按钮组件 可以触发事件
继承自Selectable 实现接口IEventSystemHandler, IPointerClickHandler, ISubmitHandler
·属性
runInEditMode
允许在编辑模式下运行MonoBehavior的特定实例（仅在编辑器中可用）
如果存在ExecuteInEditMode 这个属性一直为true
如果不...]]></description><category></category></item><item><title><![CDATA[Unity API通读 UnityEngine.UI.Button]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/87097484</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/87097484</guid><author>qql7267</author><pubDate>Tue, 12 Feb 2019 16:38:21 +0800</pubDate><description><![CDATA[Button
一个标准的按钮组件 可以触发事件
继承自Selectable 实现接口IEventSystemHandler, IPointerClickHandler, ISubmitHandler
·属性
onClick
当按钮被按下是触发的事件
·公共方法
OnPointerClick
注册IPointerClickHandler回调
OnSubmit
注册ISubmitHandler回调
·...]]></description><category></category></item><item><title><![CDATA[Unity API通读 UnityEngine.Behaviour]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/87092647</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/87092647</guid><author>qql7267</author><pubDate>Tue, 12 Feb 2019 15:31:07 +0800</pubDate><description><![CDATA[Behaviour
Behaviours 行为是可以被启用或禁用的组件
继承自Component 实现接口UnityEngine.CoreModuleOther Versions
·属性
enable
启用的行为被更新 禁用的行为不会更新
isActiveAndEnabled
行为是否被激活并启用
控件激活且脚本启用时为true
官方文档 version 2018.3
https://docs.u...]]></description><category></category></item><item><title><![CDATA[Unity API通读 UnityEngine.Component]]></title><link>https://blog.youkuaiyun.com/qql7267/article/details/87090831</link><guid>https://blog.youkuaiyun.com/qql7267/article/details/87090831</guid><author>qql7267</author><pubDate>Tue, 12 Feb 2019 15:05:42 +0800</pubDate><description><![CDATA[Button
一个标准的按钮组件 可以触发事件
继承自Selectable 实现接口IEventSystemHandler, IPointerClickHandler, ISubmitHandler
属性
onClick
当按钮被按下是触发的事件
公共方法
OnPointerClick
注册IPointerClickHandler回调
OnSubmit
注册ISubmitHandler回调

...]]></description><category></category></item></channel></rss>