自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 读取png,转化为Sprite

private void LoadPicture() { text = new List<Sprite>(); StartCoroutine(IELoad()); } IEnumerator IELoad() { string path = Application.streamingAssetsPath + "/图片"+"/字"; if (Directory.Exists(path)) ...

2020-11-17 17:47:46 562

原创 UMP pro 代码切换 视频流地址

测试地址CCTV1高清:http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8CCTV3高清:http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8CCTV5高清:http://ivi.bupt.edu.cn/hls/cctv5hd.m3u8CCTV5+高清:http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8方式

2020-11-11 10:11:24 1004

原创 Kinect v2 Examples with-SDK 面部追踪识别

问题Kinect v2 Examples with-SDK 面部追踪识别打包后运行失败。解决别有中文路径哇,中文哇,中文哇。

2020-11-10 10:55:06 257

原创 UMP Pro 插件 打包后无法播放视频。

问题UMP Pro 插件 打包后无法播放视频。解决办法打的包不能有中文路径。

2020-11-10 10:32:47 1300 2

原创 Unity 调用系统自带的虚拟键盘

说明两种方式启动了Win10自带的两种虚拟键盘。tabtip.exe 在有些系统上启动不了(不知道为啥,所以才有了第一种)代码using System;using System.Diagnostics;using System.Runtime.InteropServices;using UnityEngine;public class TouchKeyboard{ static Process sf; [DllImport("user32")] static extern

2020-10-30 11:44:23 2797 3

原创 Unity 打包安卓 安卓启动后闪退

说明StreamingAssets 文件夹中 我有程序中要播放的视频。这个视频修改过。然后打包就闪退。解决方式重新转码视频为MP4。原因视频格式有问题。有个不理解的地方,视频在没有被使用的情况下格式出现了问题也会闪退。...

2020-10-30 11:31:56 2453

原创 C# IList<T> IList

2020-07-20 10:57:22 235

原创 C# this 关键字

用在类的属性、实例方法或实例构造方法中,区分成员名和本地变量(或参数)。this.XXX 表示当前对象。 传递参数的时候,可以直接用。 索引器 class Rectangular { public float x; public float y; public float this[int index] { set { switch (index).

2020-07-19 15:08:00 135

原创 C# abstract 和virtual

方法:virtual 基类中定义了virtual方法,派生类中没有重写,派生类实例,就调用基类定义的方法。 基类中定义了virtual方法,派生类中使用override重写,派生类实例,就调用重写的方法。 abstract 只能修饰方法不能具体实现,派生类中必须实现。 抽象类和接口的区别(我认为重要的并不是全部):抽象类应主要用于关系密切的对象,而接口则是适合为不相关的类提供通用功能 接口着重于Can—Do关系类型,抽象类则偏重于IS—A式关系。 接口只包含方法、属性、索引器、

2020-07-19 10:07:56 120

原创 C#静态类

static 关键字定义不可实例化的类。该关键字只能用于类,不能应用于结构(值类型) 静态类必须直接从基类的System.Object派生,从其他任何基类派生都没有意义。继承只试用于对象,但静态类不能实例化。 静态类不能实现任何接口,这是因为只有使用类的实例时,才可调用类的接口方法。 静态类只能定义静态成员,任何实例成员都会导致编译器报错。 静态类不能作为字段、方法参数或局部变量使用。...

2020-07-18 11:26:30 416

原创 C#类成员的可访问性

private 成员只能由定义类型或任何嵌套类型中的方法访问 protected 成员只能由定义类型,任何嵌套类型或者不管在什么程序集中的派生类型中的方法访问 internal 成员只能由定义程序集中的方法访问 protected internal 成员可由任何嵌套类型,任何派生类型(不论程序集),定义程序集中的任何方法访问 public 成员可由任何程序集的任何方法访问...

2020-07-18 11:12:48 379

原创 C#类

所有类型都从System.Object派生(显式,隐式) 所有对象都要用new操作符创建。 new 操作符做的事情 计算类型及其所有基类(一直到System.Object)中定义的所有字段需要的字节所,还有“类型对象指针”和同步块索引的字节数。 从托管堆中分配类型要求的字节数,从而分配对象的内存,分配的所有字节都设为零。 初始化对象的“类型对象指针”和“同步块索引”成员。 调用类型的实例构造器。(一直到S..

2020-07-18 11:04:16 81

原创 CLR的GC

CLR的GC是基于代的垃圾回收器。主要由以下几部分构成:标记清除算法 压缩 代标记清楚算法:https://blog.csdn.net/qq_42127428/article/details/107208628压缩:在清楚阶段,把所有的活跃对象放到堆的开始端,并修改引用。代:对象越新,生存期越短。 对象越老,生存期越长。 回收堆的一部分,速度快于回收整个堆。CLR的GC一共有3代(0,1,2)新创建的未经过GC的对象在第0代。第0代经过GC活下来的进入第1代,第1代经过G

2020-07-09 17:35:48 308

原创 垃圾回收的算法与实现(一)三类基本算法

GC 要做两件事1. 找到内存空间里的垃圾2. 回收垃圾,让程序员能再次利用这部分空间主要有三大类算法其他都是扩展GC 标记- 清除算法 引用计数法 GC 复制算法GC 标记- 清除算法简单描述:分为标记阶段和清楚阶段。标记阶段遍历堆(根的直接引用 然后递归)为所有的活动对象打上标记。清楚阶段(从堆的开始到结束遍历每一个对象)如果是已经标记的,设置为未标记,未标记的连接到空闲链表(用作以后的分配),如果有连续的分块则合并。如何分配:遍历空闲链表根据策略选择合适的对象(例如Fir

2020-07-08 17:59:07 274

原创 值类型的装箱,拆箱

装箱发生的事情:1.在托管堆中分配内存。分配的内存量是值类型各字段所需的内存量,还要加上托管堆所有对象都有的两个额外成员(类型对象指针和同步块索引)所需的内存量。2.值类型的字段复制到新分配的堆内存。3.返回对象地址。现在该地址是对象引用:值类型成了引用类型。拆箱发生的事情:1.获取已装箱对象中各个字段的地址。2.将字段包含的值从堆复制到基于栈的值类型实例中。struct 结构体的装箱:调用本类的里面的方法不许要装箱,调用父类中的方法需要装箱。虚方法重新后,里面...

2020-07-08 15:55:27 92

原创 类的类型转换 is as (强制转换)

括号强制转换Employee e = (Employee) o;如果 o 不是Employee类型或者由Employee派生的类型 就会报 InvalidCastException错误。is 判断对象是否属于某个类或他的派生类Object o = new Object();bool b1 = (o is Object) ; //b1=falsebool b2 ...

2020-05-06 11:23:28 685

原创 GameFramework 学习笔记(十)Resource编辑器模式

首先还是先根据属性把字段标注一下,方便之后看代码。我发现这次不止是直接调用GameFramework里面的管理器出来一个新的东西也就是这个东西我们会发现里面的一堆属性都是这...根本不用看嘛下面还有一堆方法也是这样的..主要的加载是在update中实现如果没有超期的画调用获取资源更新回调函数继续下载。就不仔细说了(真的太多呀,后面那个Game...

2019-10-23 15:47:07 549

原创 GameFramework 学习笔记(九)ObjectPool

看这个UnityGameFramework的对象池组件 直接调用GameFramework里面的对象池,一层简单的封装,所以我们直接看GameFramework里面的对象池。这个字典有没有觉得很熟悉。引用池的时候就是字典存放着引用池。所以同样的我们只要看懂了这个引用池,那也就可以理解这个引用池管理器啦。我们会发现这个引用池里面有一堆的变量。(这**都是些啥呀)...

2019-10-21 18:26:09 917

原创 GameFramework 学习笔记(八)download

看初始化部分这部分除了 获取到 GameFramework 的下载管理器还添加了 4个事件,那我们来看一下这些事件抛出了四个刚刚创建的事件 那我们来看看这四个事件类这四个类十分相似,定义了一些基本属性,然后在实现了一个创造事件的方法。回到事件组件 我们看开始函数然后我们看代理下载辅助器基类我们可以发现代理辅助器定义了几个事件,这些事件是Game...

2019-10-19 10:46:20 321

原创 GameFramework 学习笔记(七)DataNode

和之前的 架构一样 ,所以直接开始 GameFramework 部分依照 惯例 我们看 DataNode这里面存放了 这个结点的 名字 数据 父结点 和孩子结点, 然后后面有一堆方法 应该自己能看懂吧这个变量之后会专门写一章 获取结点的具体实现就不说了 得累死我。...

2019-10-17 16:17:59 665

原创 GameFramework 学习笔记(六)ReferencePool

我们直接看 GameFramework 里面的引用池部分我们会 发现 熟悉的结构 下面的那些方法几乎都是在调用s_ReferenceCollections 这个里面的方法所以我们直接看ReferenceCollection这个类然后我们再回到引用池中 我们发现 还有个引用信息啥的遍历字典 把引用信息存放到数组中...

2019-10-17 15:35:15 507

原创 GameFramework 学习笔记(五)Event

好多部分都用到了事件 先说下事件部分吧.....UnityGameFramework 的事件组件也只是对 GameFramework 的一层简单封装没有其他内容还是直接看 GameFramework的事件我们先看一下 这个 事件池这个订阅 事件就是把事件处理函数存放 到事件池的 字典<事件Id,处理函数链表> 的处函数链表中然后我...

2019-10-17 15:06:44 574

原创 GameFramework 学习笔记(四)Procedure

第一节的时候就报了一个流程的错误UnityGameFramework 的流程组件也是直接调用了 GameFramework里面的 流程管理器所以我们直接看GameFramework 里面的流程流程管理器里存放了 一个fsm 管理器 一个 包含流程的有限状态机发现流程也没啥说的 要不把所有组件 说一遍然后 写个从零开始写一个StarForce...

2019-10-17 12:56:44 305

原创 GameFramework 学习笔记(三)FSM

还是先看UnityGameFramework只有组件类这个 比 之前的Setting 都简单 都没有 辅助器了那直接看 GameFramework 的FsmManager我们发现这个 管理器里的方法差不多都是调用 这个里面的 然后我们进去看看 这个FsmBase 到底是干啥的一堆 有限状态机的基本 属性 和方法也是就是 这个字典中存放了一堆 有限...

2019-10-16 16:58:04 686

原创 GameFramework 学习笔记(二)Setting模块

把上一个文章中新建的test组件删除Setting模块我们首先看这个 SettingComponent 这个类我们可以发现在这个类 可以分为三部分 第一部分:存放数据第二部分:初始化第三部分:方法的调用先看第一部分m_SettingManager 看起来好像很重要的 样子 因为第三部分调用的都是他里面的方法那我们看一下这个 这...

2019-10-16 16:29:56 869

原创 GameFramework 学习笔记(一)

默认 你已经下载了 GameFramework UnityGameFramework.Runtime使用源码替换GameFramework.dll这个 框架采用的是 manager of managers 的 架构形式 (如果不懂这个的话 看 这个)下面这段是官网的话在最新的 Game Framework 版本中,包含以下 18 个内置模块,后续还将...

2019-10-16 13:12:03 913 2

原创 如何在码云中创建unity项目

下载git bash https://gitforwindows.org/ 下载unity https://unity.cn/releases 注册码云并创建仓库 自己去注册鸭 创建仓库 4. SSH配置1、打开git bash2、执行生成公钥和私钥的命令:ssh-keygen -t rsa并按回车3下(为什么按三下,是因为有...

2019-09-30 09:34:25 1098

原创 游戏人工智能读书笔记--概述

1 什么是游戏中的人工智能1.1 概述游戏中的人工智能应该仅仅只做一件事:赋予开发者能力,为玩家创造非凡体验。游戏AI的重点是创造一种智能的表象,为玩家创造一种特殊的体验,而不是专注于创造像人类那样真正的智慧。1.2 创造一种体验所有游戏都要给玩家创造一种特别的体验,不管这种体验是什么。游戏AI的目的(以及游戏的所有其他部分,就此而论)就是要支撑那种体验。因...

2019-09-13 10:09:41 167

原创 C# 引用参数 ref

值参数 默认的都是值参数 值类型 形参改变 实参不变 引用类型 形参改变 实参改变 引用参数 使用引用参数时,必须在方法的声明和调用中都使用ref修饰符 实参必须是变量,在用做实参前必须被赋值。如果是引用类型变量,可以赋值为一个引用或者null 值类型加上 ref 等同于 值参数中的 引用类型 将引用类型对象作为值参数...

2019-08-31 13:18:29 411

原创 哈弗曼编码(python)

class Node: def __init__(self,freq): self.left = None self.right = None self.father = None self.freq = freq def isLeft(self): return self.father.left =...

2019-05-28 22:28:52 252

原创 二叉树(python)

class Node(object): """节点类""" def __init__(self, elem=-1, lchild=None, rchild=None): self.elem = elem self.lchild = lchild self.rchild = rchildclass Tree(object): ...

2019-05-28 22:27:37 85

原创 Manachers algorithm: 最长回文子串算法(马拉车算法)

参考原文https://www.cnblogs.com/egust/p/4580299.html这个马拉车算法Manacher‘s Algorithm是用来查找一个字符串的最长回文子串的线性方法。因为后面有python代码,所以一些表示我直接使用代码里的。1.预处理回文有两种形式:aba abba为了使用一种方式查找一个字符串的最长回文子串,需要对字符串进行预处理。s1...

2019-05-28 17:33:02 109

原创 2.Add Two Numbers[LeetCode] (python c++)

文章主要用于自我复习和Python学习2.两数相加给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。输入:(2 -> 4 -> 3) + (5 -&g...

2019-05-15 21:47:09 80

原创 1.Two Sum [LeetCode] (python c++)

文章主要用于自我复习和Python学习开始刷 LeetCode1.两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。实例:给定 nums = [2, 7, 11, 15], target = 9因为 nums...

2019-05-14 21:13:11 96

原创 Anaconda安装失败

问题安装时我是在cmd中输入 pip install opencv-python显示安装成功但是进入 pycharm 中不能使用原因:我不知道啥时候不小心装了一个Miniconda 这个语句好像是默认把 OpenCV装到Miniconda中解决办法:删除Miniconda,再用语句装一遍就好了import cv2 as cvsrc ...

2019-05-07 16:46:27 697

原创 python 列表的复制

#a = [1,2,3]# b = a # 赋值 只是 赋给了地址# a[1] = 4# print(b) #结果 [1,4,3]# a = [1,2,3]# b = a.copy() #copy 可以浅复制# a[1] = 4# print(b) #结果 [1,2,3]# a = [1,[1,2,3],3]# b = a.copy() #copy 可以浅复制 内层复制的...

2019-04-27 10:53:33 80

原创 python 增删改查

lists = ["aa","aa"]#增lists.insert(0,"aa") #在索引为0的地方插入"aa"lists.insert(5,"aa") #在索引为5的地方插入"aa",如果索引没到5则插到尾部#删lists.remove("aa")# 删除 第一遇到的"aa"从左向右del lists[5] #删除指定索引的值 如果索引超出范围则报错lists.pop(0) ...

2019-04-25 21:00:58 370

原创 python for 循环中 range

for i in range(10): print("i:",i)#i为0-9for j in range(1,10): print("j:",j)#j为1-9for k in range (0,10,2): print("k:",k)#k为0 2 4 6 8for m in range(0,10,3): print("m:",m)#m为0 3 6 ...

2019-04-08 21:29:46 367

原创 python 中的循环 else

whileelsecout = 0while cout <5: print("cout:",cout) cout+=1else: print("这句输出时是不满足while条件后输出","cout:",cout) forelsefor i in range(10): print("i:",i)else :...

2019-04-08 21:22:16 482

原创 在脚本中更改渲染顺序

在脚本中更改渲染顺序//将obj设置为当前层级中的第一个元素(渲染在最内侧)obj.transform.SetAsFirstSibling();//将obj设置问当前层级中最后一个元素(渲染在最外侧)obj.transform.SetAsLastSibling();//将obj设置为当前层级中第三个元素(由内向外第3个渲染)obj.transform.SetSiblingInd...

2019-02-26 19:33:08 194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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