自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (8)
  • 收藏
  • 关注

原创 C#斐波那契数列

using System.Collections;using System.Collections.Generic;using UnityEngine;public class FeboMgr : MonoBehaviour{ // Start is called before the first frame update void Start() { int num= Feb(10); Debug.Log(num); int ...

2020-07-30 16:07:32 2715

原创 C# Dictionary内部实现与Hashtable的比较

首先解释什么是哈希表。哈希表是类似<key,value>的一个键值对集合, key和 value都属于object类型。也就反应了它存在的一个问题:类型安全问题。比如我可以hs.add("name","susu");同样可以添加hs.add("age",28).这样的话,在访问时就存在类型错误的问题。而Dictionary,属于Hashtable的一种泛型实现,保证了类型安全问题。也就是如果存储的类型是值类型,那就避免了装箱操作。那Dictionary内部是一个怎样的实现过程呢。

2020-07-29 18:56:36 645

原创 C# 二叉树的遍历

先总结一下二叉树的遍历方式有四种深度优先遍历有三种:这三种的循环遍历方法中都用到了栈stack。不建议采用递归的原因在于如果太深,会有可能导致栈溢出前序遍历 (根左右)中序遍历(左根右)后序遍历(左右根)广度优先层序遍历(从上到下,从左往右)用到了队列(queue):先进先出附上源码:using System.Collections;using System.Collections.Generic;using System.Linq;using Unity..

2020-07-29 16:46:10 3393

原创 单链表的反序输出

这是是曾经面试题里被问到的一个问题。老实讲当时一脸懵,后来网上查了下,发现还是挺巧妙的。想明白之后,其实原理也挺简单。就是先找到队尾元素,然后反向输出。就好像你只需要记住你原来后面站的是谁,你现在就站他后面就可以了,不用管别的。这里用递归的方式实现反序输出。using System.Collections;using System.Collections.Generic;using UnityEngine;public class LinkReverse : MonoBehaviour

2020-07-27 16:51:04 350

原创 闭包,协程

array={"Google","Runoob"}functionelementIterator(collection)localindex=0localcount=#collection--闭包函数returnfunction()index=index+1ifindex<=countthen--返回迭代器的当前元素ret...

2020-07-21 10:44:47 156

原创 android studio生成jar包导入Unity使用

发现网上写这个的还是比较多的,但很多因为android studio版本不一致的原因,有些内容零零碎碎的,这里自己总结一下,方便以后再用到。这里附上我借鉴的链接,其中有几个地方需要更正一下。https://www.jianshu.com/p/8256c0da444ahttps://blog.csdn.net/weixin_39766005/article/details/106197097这里添加类库是直接右键→Add As Library,比较方便点最后生成jar包有两种方式,一种是直

2020-06-10 15:09:18 2794

原创 几种常用排序算法

其实最重要还是理解,不用刻意去记代码怎么写的。选择排序:每次从数组里选出一个最小的放在最前面,以此类推。冒泡排序:从后往前,两两交换,每次把最小的一个放到最前面。插入排序:每次把未排序的下一个元素插入到已排序的数组中。希尔排序:也叫缩小增量排序,每次跨度为数组总长度/2,以此类推。快速排序:找一个基准值,把比基准值大的都放数组右边,把比基准值小的,都放...

2019-10-11 19:44:36 194

原创 C# int?

今天看到一面试题,如下:关于int?p1;以下说法正确的是:A:p1不可以等于0 B:p1可以代表非int类型C: p1可以等于null D:p1内存地址会发生变化可以肯定是A,B错误,C正确,至于D选项,我也不是很清楚。这里int?代表的是该int类型的变量可以为null.而一...

2019-08-19 23:53:55 1706

原创 unity编辑器扩展--自定义Scene界面UI

本文讲的是在编辑状态下,对Scene界面的一些UI操作。作用在于地编,或者把一些繁琐的东西做个编辑界面给策划自己去设计。先上效果图:首先,在场景任意物体上挂上你的MONO脚本,具体脚本实现什么功能自行设计。这里我们简单在灯光下面挂一个MyGraph脚本。public class MyGraph : MonoBehaviour{ public Transform cube...

2019-05-31 16:31:18 3575 1

原创 unity编辑器扩展--Inspector自定义编辑

UnityEditor可以说是一个挺庞大的领域了,平时更注重上线开发,对于编辑这块儿知之甚少。这里暂不系统地去研究,简单去实现几个常用的功能。1.让一个公共普通类型变量在编辑界面显示,但不允许修改。这里为的是在编辑界面能更直观的查看值的变化,但不允许外部手动修改。和Unity自带的readonly区别就在于,如果给变量前面加上readonly,在编辑界面是看不到这个变量的。上代码:...

2019-05-30 15:36:27 5410

原创 c#通过反射实现单例模式

常见的单例模式为:不继承MONO:public class Singleton{ private static Singleton m_instance; public static Singleton Instance { get { if (m_instance == null) ...

2019-05-28 15:23:00 3826

原创 C# 循环调用问题解决(interface方案)

写代码都会要求高密度,低耦合,尽量避免循环引用的出现。曾经面试时,有一道面试题是这样的,如果A引用B,B引用C,C又引用A,怎么解决这种循环引用?如图:这也是今天写这个的原因,个人思路为把环状拆分为一条直线,也就是让A持有B,B持有C,而把C要调用的A中的内容抽离出来,这里把这部分叫做D,通过B,把D传递给C。也就是C持有的,实际上不再是A,而是A里的一部分C需要的内容(D)。如图:...

2019-05-27 15:50:19 3029

原创 XLUA --随机数问题

首先看一下C#中的方法[Hotfix]public class HotFixMgr{ private int m_Num; private void GetSeed() { m_Num=Random.Range(1,100) }}这里定义了一个整型的数:m_num,从1~100里给它取一个随机数赋值。如果想在Xlua中重写这个方法Get...

2019-05-15 17:05:00 2952

原创 LUA学习--Hotfix

HotFix相当于对已写好的脚本做一个打补丁的操作。首先,需要在发布前对可能会修改的类前面添加[Hotfix]标识。然后在类中对于要修改的方法前添加[LuaCallCSharp]标识。至于后面这个标识,发现在编辑器模式下是可以不加的,类前面添加[Hotfix]就可以了,不过看官方Git上的FAQ,貌似发布后会报错,这里就先不深究了,就以需要添加为准了。第一阶段:xlua.hotfix...

2019-05-14 18:03:17 973 1

原创 能用foreach遍历访问的对象需要实现____接口或声明____方法的类型

之前面试看到一个这样的笔试题,当时只知道List和Dictionary类型可以用foreach遍历,但他两也没什么共同点啊。List是有序的,但Dictionary是无序的。回来在网上查了下才发现,他们都实现了IEnumerable接口,申明了GetEnumerator方法。打开源码后发现确实如此:接下来就详细写一下自定义的类如果用foreach遍历。首先定义一个Item类p...

2019-04-25 20:42:31 5982

原创 XLUA学习--C#访问Lua全局函数

上一篇讲到了通过接口的形式,可以访问表内部的函数,那如果这个方法是一个全局的函数,就是这篇博客要讲解的。先上Lua中的代码。function TestOne()print('no parm')endfunction TestTwo(a,b)print(a,b)endfunction TestThree(a,b)return a+bendfunction Tes...

2019-04-01 15:10:07 935

原创 Unity 动态合批---Dynamic batch

最近研究自身项目发现,场景中DrawCall出奇的高,结果发现项目中的草模型Unity自动进行了批处理,而花模型却没能批处理。也就是一个花,就增加了一个Drawcall.于是有了下面对DC的研究。先附上能动态合批的条件:1.动态批处理仅支持顶点数小于900的网格物体。2.如果Shader使用了顶点位置、法线、UV值三种属性,则只能动态批处理300个顶点以下的物体。如果Shader使用了顶点位...

2019-01-24 15:25:38 5857 1

原创 unity Profiler安卓端真机调试(操作正确就是不能调试,终于爬坑)

花了一天的时间终于搞定了安卓端Profiler的调试。之前整过,可以直接运行,今天发现相同的操作,就是不能正确调试。特写上爬坑经历。前面内容和网上写的完全一样,熟练的人可以略过,不熟练的按着前面的先来。1.Unity端设置2.CMD命令找到AndroidSDK下adb.exe的路径:(你自己安卓SDK安装路径)/platform-tools/adb.exe这里如果不知道...

2019-01-18 19:48:43 4329

原创 XLua学习---C#访问Lua(变量,表,函数)

首先通过LuaEnv.Dostring()获取到Lua中的内容。然后通过LuaEnv.Global.Get&lt;T&gt;方法可以对其中的属性进行获取。   LuaEnv env=new LuaEnv();        env.DoString("require 'CSharpCallLua' ");//lua文件名1.获取全局变量的基本属性类型例:Lua脚本 leve...

2019-01-03 19:24:09 1218 1

原创 XLua学习---LuaEnv加载lua脚本的几种方式

LuaEnv.Dostring()参数内为一个字符串,确切说是一个符合lua语法的字符串。在此写几种不同类型的加载方法。首先声明    LuaEnv env=new LuaEnv();1.最基本lua语言env.Dostring(@"hellow world")env.DoString(@"mytable={name='xiaoming'}function mytable:n...

2018-12-11 17:15:58 10329

原创 使用Dotween改变UGUI中Color的透明度(Pingpong效果)

项目需求需要给一张UGUI图片做逐渐显示又逐渐隐藏的循环效果。说白了就是Tween里的Pingpong。但发现Itween对于Color的支持不包含Image和RawImage,研究了一通之后绝对放弃。所以选择了Dotween代码如下: void Pingpong(float fromValue, float toValue,float duration) { ...

2018-11-22 19:03:32 8913 1

原创 lua学习---面向对象编程

在C#中,如果定义了一个Person类,可以直接申明Person类型的变量。但在lua中,没有类一说,能用到的就是表,可以通过元表的形式实现类的形式。先上代码:1.类的对象的声明:Person={name="",age=0}function Person:showinfo()print(self.name,self.age)endfunction Person:new(o)...

2018-10-30 20:01:03 139

原创 lua学习笔记---协同程序(coroutine)

对于协同程序在真正应用中怎么使用还不太明白,先写下它的使用方法供日后研究吧。直接上代码:co=coroutine.create(function(a,b)print(a+b)coroutine.yield(a*b)print(a-b)end)data1,data2= coroutine.resume(co,2,3)print(data1,data2)coroutine.re...

2018-10-09 11:10:35 176

原创 lua学习笔记---元表(Metatable)

元表的作用在于对于两个表之间的操作,改变table的行为。1.设置/获取元表mytable={}mymetatable={}mytable=setmetatable(mytable,mymetatable)将mymetatable设置为mytable的元表。返回值为普通表mymetatable=getmetatable(mytable)获取mytable的元表,返回值为...

2018-10-04 20:02:21 1266

原创 lua学习笔记----table操作

1.table的连接table.concat(mytable," ",begin,end)   返回值是一个字符串参数1:要进行操作的表,参数2:某个元素之间以什么分割, 参数3:起始元素,终止元素mytable={"banana","apple","orange"}str=table.concat(mytable," ",2,3)print(str)2.table的插入...

2018-10-01 15:50:25 242

原创 lua学习笔记--字符串操作

1.定义双引号 “” 单引号‘’ 和字符串组[[]]2.转义字符注意这里是\,不是/\n换行 \\输出\\“输出”就写几个常用的,别的暂时就不详细写了3.字符串操作这里就不自己去总结了,转载两个C#和Lua的字符串操作的链接。重点说一下c#中字符串的反转,是没有string.reverse这个方法的。不过有list.reverse,网上反转的方法也有很多,这里写...

2018-09-21 17:08:02 494 1

原创 lua学习笔记-----运算符

比较简单的就一概而过了。1.算术运算符+ -*/%^求幂这个和C#区别在于lua可以直接取出2^3,也就是2的三次方等于8.但C#不是这样运算的。通过Math.pow(2,3)来求幂运算。2.关系运算符==~=    这个是和C#不同的地方          !=&gt;&lt;&gt;=&lt;=3.逻辑运算符and------...

2018-09-20 17:22:36 594

原创 lua学习笔记---function

1.function修饰符和变量一样,函数也有全局函数和局部函数之分,默认为全局函数。不过暂时发现好像没有静态变量一说:Static.格式如下local function max(a,b)if(a&gt;=b) then return aelse return bendend2.function可以作为数据赋值比如上面的max函数,可以直接赋值给别的变量。例...

2018-09-20 15:48:08 377

原创 lua学习笔记---流程控制语句(if else)

其实这些在使用熟练之后都无需记录,目前这些也很熟练了。担心后面长时间不用lua,忘了基本的格式,所以记录一下。if(布尔表达式) then--1elseif(布尔表达式)then--2else--3end例子:c=10if(c&gt;10) thenprint(c.."&gt;10")elseif(c==10) thenprint(c.."=10...

2018-09-20 11:25:13 434

原创 lua学习笔记----循环的使用

例:从1一直输出到20方法一:while循环while(条件) do内容endnum=1while(num&lt;20) donum=num+1--lua中没有自加自减一说,这里不能协成num++print(num)end方法二:for循环1,数值for循环for var=start,end,step do起始值,结束值,步长内容end...

2018-09-19 20:26:20 238

原创 lua学习笔记--变量

首先写一段代码,大家猜测一下输出结果吧local a=10a="hello wold"print(a)--------------------function Test()local b=1;c=3endprint(b,c)Test()print(b,c)-----------------------以上三个输出。分别通过对比C#来说明lua的特...

2018-09-19 19:07:36 171

原创 lua学习笔记--最基本知识点

1.printprint("hello wold")2.注释--单行注释   --[[  --]]多行注释3.标志符Lua 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)。最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。比如_VERSION...

2018-09-18 20:04:10 212

原创 LuaFramework笔记-----本地服务器热更

首先本人对于Lua属于初级入门,写此博客完全是为自己做点笔记,把学的过程中遇到的坑填平,防止日后忘记。其中有一些细节初学者可以借鉴,也是跟着网上说的结果发现并没有达到效果自己研究来的。希望大神勿喷,不喜绕过,愿意的话留点宝贵意见,不甚感激。好了,开始~比较完善的讲解大家可以看 https://blog.csdn.net/cxihu/article/details/78654294 对于本地服务器I...

2018-06-26 12:40:10 839 1

UniPatcher_v2017.4.zip

4.x,5.x,2017破解工具,亲测有效。也是从别人那儿下载的,花了老多积分,所以上传上来再把花了的积分赚回来。

2019-07-08

YBot.7z人形骨骼动画资源

一套完整的人形骨骼动画,除基本的走路,跑跳拐弯等外,还有攻击格挡死亡施放技能等多套动画。

2019-05-10

循环播放图片Shader.zip

里边包含了循环播放的shader和8张可以直接使用的背景图片。直接把材质扔上去就行,不需要写代码,实现背景循环滚动的效果。

2019-05-10

undoProNew.unitypackage

这个是个人写的基于UGUI的图文编辑时的撤回功能。涉及到文字变化和图片移动的撤回,可以在此基础上继承基类继续扩展。

2019-05-10

Hand Painted Forest - Zugrand.unitypackage

Hand Painted Forest,这个是一个手绘风格森林类型的游戏资源。unity5.0以上,可以直接运行,别的网站上找的,发现CSDN里没有,就上传供大家使用。

2019-05-10

MMD4插件及可用MMD资源.zip

MMD4Mecanim_Beta_20180523插件,以及里边几个从网上直接下载的MMD模型资源,本人已经在项目中使用,放心下载

2019-05-10

SVG Importer 1.1.6.unitypackage

SVG Importer 1.1.6,用于unity中矢量图的直接使用。不需要生命代码,和UGUI使用规则相同

2019-05-10

Unity新手引导-shader遮罩(完整资源工程)

该资源为Unity新手引导Shader遮罩完整工程。在网上现有资源的基础上做了一些整合和修正,可以直接打开DEMO场景看到效果展示。具体的实现流程如有不会可以咨询我本人。

2018-11-21

空空如也

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

TA关注的人

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