<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[maybe_ice的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/maybe_ice</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; maybe_ice]]></copyright><item><title><![CDATA[Unity程序框架总结归置系列（5）——场景切换模块]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/113727866</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/113727866</guid><author>maybe_ice</author><pubDate>Sat, 06 Feb 2021 17:03:15 +0800</pubDate><description><![CDATA[上一篇——Unity程序框架总结归置系列（4）——mono模块
肝啊肝。
因为这个东西也很简单，直接上：（代码中的GameConst在下面）
/// &lt;summary&gt;
/// 场景转换模块管理器，这里开始用到之前写的模块
/// &lt;/summary&gt;
public class SceneMgr : SingleTon&lt;SceneMgr&gt;
{
    private SceneMgr() { }

    /// &lt;summary&gt;
    /// 同步加载场]]></description><category></category></item><item><title><![CDATA[Unity程序框架总结归置系列（4）——mono模块]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/113726787</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/113726787</guid><author>maybe_ice</author><pubDate>Sat, 06 Feb 2021 15:57:21 +0800</pubDate><description><![CDATA[上一篇——Unity程序框架总结归置系列（3）——事件中心
肝。
哦，这次有点不一样了，这次我们有两个脚本。
先看第一个：
/// &lt;summary&gt;
/// mono控制器，用于给没有继承monobehavior的类可以使用mono的相关生命周期，如update
/// &lt;/summary&gt;
public class MonoCtrl : MonoBehaviour
{
    private event UnityAction updateEvent;

    private ]]></description><category></category></item><item><title><![CDATA[Unity程序框架总结归置系列（3）——事件中心]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/113726648</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/113726648</guid><author>maybe_ice</author><pubDate>Sat, 06 Feb 2021 15:43:17 +0800</pubDate><description><![CDATA[上一篇——Unity程序框架总结归置系列（2）——对象池
依然是话不多说，直接肝。
/// &lt;summary&gt;
/// 事件中心
/// &lt;/summary&gt;
public class EventsCenter : SingleTon&lt;EventsCenter&gt;
{
    private EventsCenter()
    {
        eventsDic = new Dictionary&lt;string, UnityAction&lt;object&gt;]]></description><category></category></item><item><title><![CDATA[Unity程序框架总结归置系列（2）——对象池]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/113725655</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/113725655</guid><author>maybe_ice</author><pubDate>Sat, 06 Feb 2021 15:18:41 +0800</pubDate><description><![CDATA[上一篇——Unity程序框架总结归置系列（1）——单例基类
该说的，上一篇也说了。话不多说，直接开肝。
unity对象池模块
using System.Collections.Generic;
using UnityEngine;
/// &lt;summary&gt;
/// 对象池管理器
/// &lt;/summary&gt;
public class PoolManager : SingleTon&lt;PoolManager&gt;
{
    /// &lt;summary&gt;
    //]]></description><category></category></item><item><title><![CDATA[Unity程序框架总结归置系列（1）——单例基类]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/113715334</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/113715334</guid><author>maybe_ice</author><pubDate>Sat, 06 Feb 2021 13:19:50 +0800</pubDate><description><![CDATA[写在前面的话
这个系列的博客，是博主准备用来记录总结unity开发手游要用到的最基本的公共模块，也可以说是程序框架。希望能帮助博主理清思绪，向主程靠近。
如果通过对这个系列的阅读，能让你对自己的学习路线有那么一些些帮助，那当然也是极好的。当然，如果在阅读过程中有什么疑问，也可以在评论区提出讨论，我在休息日有时间会统一回复。
以上这段话只在这里阐述一次，后面的系列就都是直接开干了。


...]]></description><category></category></item><item><title><![CDATA[C#踩坑之foreach]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/107504380</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/107504380</guid><author>maybe_ice</author><pubDate>Wed, 22 Jul 2020 09:13:37 +0800</pubDate><description><![CDATA[今天在写一段代码的时候遇到一个问题，我使用foreach遍历一个字典，在此过程中修改了字典的内容，结果报错。
回头看了看基础语法：发现里面明确提到了不要在foreach中修改集合。。。。因为foreach是只读遍历，所以无法做写（增删改）操作。
写了个小测试:
		List&lt;int&gt; list = new List&lt;int&gt;(new int[] { 1, 2, 3, 4, 5 });
		            foreach (int item in list)
		       ]]></description><category></category></item><item><title><![CDATA[献给Lua小白的Lua基础入门]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/107068591</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/107068591</guid><author>maybe_ice</author><pubDate>Wed, 01 Jul 2020 20:10:51 +0800</pubDate><description><![CDATA[lua的起源
lua是Roberto Ierusalimschy、Luiz Henrique de Figueiredo 和 Waldemar Celes在1993年创建的一门轻量的可嵌入的快速的脚本语言，其功能非常强大，是以C语言编写的开源语言。lua本身的目的是为嵌入应用程序为应用程序提供灵活的扩展和定制功能。
Lua特性

脚本语言------解释型语言
嵌入程序开发
易与其他语言相互调用
轻量
面向过程
函数式编程
热更新

安装Lua
下载地址：http://luabinaries.sourcef]]></description><category></category></item><item><title><![CDATA[unity3D之实现一个简单的UI框架]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/106984803</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/106984803</guid><author>maybe_ice</author><pubDate>Sat, 27 Jun 2020 18:52:03 +0800</pubDate><description><![CDATA[写在前面的话
我会先把源码直接给出来。博主本身也不是什么大牛，所以写的也不是什么很厉害的框架，只是一个很小很小的UI框架，给初学者一点入门的思路。
很多人在刚开始接触框架的时候都会有一种感觉：这NM什么DDX啊？！完全懵逼了有没有？！我还没开始写代码呢！怎么就已经有这么多代码要看啊？！还有大部分新人都会吐槽的事情：为什么要这么写啊？这玩意随便写个脚本挂上去不是分分钟实现功能吗？你这绕来绕去搞毛？这个主程是不是NT？！emmmmmmmmmmm…如果你知道主程怎么想的，你不就是主程了？
所以，初次接触框架的话，]]></description><category></category></item><item><title><![CDATA[U3DBUG积累之自制动画播放时位置会跑偏]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/106908477</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/106908477</guid><author>maybe_ice</author><pubDate>Mon, 22 Jun 2020 19:36:24 +0800</pubDate><description><![CDATA[具体问题：
使用录制功能自制的动画每次在播放时，动画物体的位置是对的，但动画展现的地方却在别的位置，也就是说动画播放时会莫名其妙跑偏。
解决方案：
经过我多次调试，发现，如果你是使用录制功能制作的动画，那么你需要把你的播放动画对象放入一个空对象中，否则你录制时记录的是世界坐标，那么你虽然调整了对象坐标，但一播放动画，对象就会会到记录的世界坐标播放动画，而放入一个空对象后录制的就是相对于空对象的本地坐标了。

...]]></description><category></category></item><item><title><![CDATA[U3D使用sqllite报错SqliteException: SQLite error no such column]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/106908376</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/106908376</guid><author>maybe_ice</author><pubDate>Mon, 22 Jun 2020 19:31:45 +0800</pubDate><description><![CDATA[错误信息：
SqliteException: SQLite error no such column
这是我在使用插入语句时报的错。
解决方案：
仔细分析了一下我的插入语句，发现我要插入的类型是TEXT，那么注意，要插入的字符串需用‘ ’单引号引起来，如下：
Insert into users(username,password) values(" + “’” +username+"’" + ‘,’ + “’”+password+"’" + “)”;
这样，你的插入语句才是符合sql语句规范的。

...]]></description><category></category></item><item><title><![CDATA[photon框架使用[PunRPC]的时候报了空引用]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/106908273</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/106908273</guid><author>maybe_ice</author><pubDate>Mon, 22 Jun 2020 19:22:24 +0800</pubDate><description><![CDATA[具体问题：
使用[PunRPC]的时候，方法内使用了一个组件，这个组件我是在start（）中获取的，运行到[PunRPC]标记的方法时会报错空引用，即找不到上述的组件
解决方案：
在awake中获取所需组件就可以解决该空引用报错，我不知道原因，但确实解决了。个人猜测是执行顺序问题，或者单纯就是unity出了BUG。

...]]></description><category></category></item><item><title><![CDATA[Unity3D打包游戏报错]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/106908138</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/106908138</guid><author>maybe_ice</author><pubDate>Mon, 22 Jun 2020 19:15:41 +0800</pubDate><description><![CDATA[以下是报错信息：
ArgumentException: The Assembly System.Configuration is referenced by System.Data (‘Assets/Plugins/System.Data.dll’). But the dll is not allowed to be included or could not be found.
我的解决方式很简单，打开Build Settings–&gt;Player Settings面板

找到other Settin]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之协程基础]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/105417570</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/105417570</guid><author>maybe_ice</author><pubDate>Thu, 09 Apr 2020 19:23:12 +0800</pubDate><description><![CDATA[程序、进程、线程
程序是以文件的形式百存放在外存储器是静态的概念，运行一个程序首先要将程序文件从外存储器调入内存才能度运行。进程是一知个正在执行的程序，是一个动态的概念，简单来说程序被执行调入内存后道称为进程[CPU只能访问内存的数据]，进程可以细分为线程，这样可以充分共享资源，减少内存开内销提高并发性。
好，简单的了解了程序、进程、线程的关系之后，我们来看看unity的协程到底是什么。

协程的...]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之本地数据库工具类]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/105155350</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/105155350</guid><author>maybe_ice</author><pubDate>Sat, 28 Mar 2020 08:42:24 +0800</pubDate><description><![CDATA[sqlite本地数据库工具类
这是一个获取数据库连接的框架，可以在使用本地数据库的时候继承此类，就不用反复去写数据库的链接操作。
下面直接给出代码（该说的在注释里写的算是比较详细了）：
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mono.Data.Sqlite;

pub...]]></description><category></category></item><item><title><![CDATA[U3D中解析json数据使用ScrollView动态展示]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/105105864</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/105105864</guid><author>maybe_ice</author><pubDate>Wed, 25 Mar 2020 22:11:12 +0800</pubDate><description><![CDATA[ScrollView中用Text组件动态展示多条文本信息
今天想使用ScrollView展示从json中解析出来的文本信息时，发现使用网格自动布局的话没有办法根据每条信息的不同调整各条信息的网格大小，因为网格布局中cellsize是调整后，所有网格都会调整，于是改用vertical自动布局，好处是可以自由设置每个Text组件的大小，就可以实现ScrollView中多条文本根据各自的文本长度调整文本...]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之背包系统优化]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/104908125</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/104908125</guid><author>maybe_ice</author><pubDate>Mon, 16 Mar 2020 21:23:49 +0800</pubDate><description><![CDATA[背包系统优化
上一次发的背包其实不能算面向对象。只是一种面向过程的解决了背包的基本需求，这次更新面向对象该怎么实现背包。
多的就不说了，实现的效果是一样的，说一下脚本。
首先抽取一个抽象类BagItem，如下：
using UnityEngine;
//装备种类
public enum EquipType
{
	//无类型
	None,
	//武器
	Weapon,
	//防具
	Armor,
	...]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之角色背包功能实现]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/104858718</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/104858718</guid><author>maybe_ice</author><pubDate>Sat, 14 Mar 2020 13:16:47 +0800</pubDate><description><![CDATA[这个背包是博主刚学完UGUI的八个回调时写的简陋版，之后会更新一个进阶版。
个人觉得理解这个之后，再去写复杂的背包功能
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class EquipItemController : MonoBehaviour, IBeginDragHandle...]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之场景转换+关卡选择]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/104849300</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/104849300</guid><author>maybe_ice</author><pubDate>Fri, 13 Mar 2020 22:15:44 +0800</pubDate><description><![CDATA[场景转换
在游戏中我们经常会有场景转换的使用，比如传送阵等
那么U3D中如何实现场景转换呢？
假设我们现在有两个如下场景：

那么如何在这两个场景中切换呢？
首先，打开下面的界面

然后再打开的界面中拖入我们的场景

最后我们要在两个场景中分别创建一个脚本
注意脚本中首先引入命名空间
using UnityEngine.SceneManagement;

public void OnClickLo...]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之登录功能UI界面]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/104804804</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/104804804</guid><author>maybe_ice</author><pubDate>Wed, 11 Mar 2020 20:50:53 +0800</pubDate><description><![CDATA[UGUI之登录窗口
首先，我们需要新建一个画布

然后，可以先设置一个背景图片
点击下图指出的按钮可以选择一个背景图片。
注意：选择完背景图片别忘了调整透明度

接着，我们来创建输入框
自行调整到合适的位置，合适的大小

Input Field下有两个文本ui——Placeholder和Text
Placeholder里面的文本会在用户未输入时显示在输入框内
text中的文本是用来保存用户输入的文...]]></description><category></category></item><item><title><![CDATA[一起来玩U3D之基础物理引擎]]></title><link>https://blog.youkuaiyun.com/maybe_ice/article/details/104758312</link><guid>https://blog.youkuaiyun.com/maybe_ice/article/details/104758312</guid><author>maybe_ice</author><pubDate>Mon, 09 Mar 2020 19:19:46 +0800</pubDate><description><![CDATA[一、人机交互Input类
人机交互的常用外部设备就是我们平时用的那些⿏标、键盘、⼿柄、遥杆、触屏、VR⼿柄、按键、VR 等等一系列。我们就是使用这些与计算机进行交互，下面我们看看U3D中常用 的一些方法来实现交互。

Input键盘输⼊⽅法
GetKey ——按住时返回True
GetKeyDown ——按下第⼀个帧返回True
GetKeyUp ——松开第⼀帧返回True
例如：

//这三个方...]]></description><category></category></item></channel></rss>