- 博客(61)
- 收藏
- 关注
原创 Unity 获取截屏 并且呼起微信分享
Unity 获取截屏 并且呼起微信分享 IEnumerator GetScreenshot(bool isBigShare = false) { // 截屏1帧后再呼起微信 yield return new WaitForEndOfFrame(); string imgPath = System.IO.Path.Combine(Appli
2017-09-21 14:16:06
2591
1
原创 C# 线性表之单链表
数据类:namespace 单链表{ /// <summary> /// 结点 /// </summary> /// <typeparam name="T"></typeparam> public class Node<T> { private T data; //数据域 private Node<T> next; /
2017-03-01 12:46:13
616
转载 C# IEnumerable和IEnumerator 详解
初学C#的时候,老是被IEnumerable、IEnumerator、ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质。 下面我们先看IEnumerable和IEnumerator两个接口的语法定义。其实IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合
2017-02-22 18:19:50
1507
原创 验证一个数是否为4的n次幂
将4的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1(1在奇数位置),并且1后面跟了偶数个0; 因此问题可以转化为判断1后面是否跟了偶数个0就可以了。 4的整数次幂的二进制数都为 (4)100、(16)10000、(64)1000000…… 另外,4的幂次方4^n也可以写为2^(2*n),即也可以写为2的幂次方,当然就满足2的幂次方的条件了,即num & num-1==0。
2017-02-22 11:42:03
1343
转载 Struct和Class的区别
C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。 struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还能有什么区别? 最本质的一个区别就是默认的访问控制: 默认的继承访问权限 struct是public的,cla
2017-02-21 23:47:54
392
转载 堆和栈的区别
一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,
2017-02-21 23:32:10
326
原创 C# 线性表之顺序存储结构
前言毕业大半年了,发现自己在数据结构与算法这一块的知识不扎实,所以重新回顾一下大学学的知识并且做一些笔记。谢谢大家。举例白羊座,金牛座,双子座,巨蟹座,狮子座,处女座,天秤座,天蝎座,射手座,摩羯座,水瓶座,双鱼座,12个星座是按顺序排列的,都有自己固定的位置,除了第一个白羊座没有前驱,和最后一个双鱼座没有后驱,其他的都有前驱和后驱。定义线性表可以说是最简单的数据结构,它的描述为:n个数据元素的有限
2017-02-16 18:06:41
779
原创 Unity MeshRender中material和sharedmaterial的区别
创建一个Cube和Sphere,创建一个Material,更改Shader为Unlit/Color,然后将新创建的材质托给Cube和Sphere。创建一个测试脚本Public class Test : Monobehaviour{ void Update() { if (Input.GetKeyDown(KeyCode.F1)) {
2017-02-10 14:08:23
6231
原创 Unity 中OnBecameVisible和OnBecameInvisible的使用
今天要使用到这两个函数,自己创建了一个脚本:public class Test:Monobehaviour{ void OnBecameVisible() { Debug.Log("OnBecameVisible"); } void OnBecameInvisible() { Debug.Log("OnBecameInvisib
2017-02-10 11:54:05
7731
1
原创 Unity 及 VS2015 创建脚本时自动添加头部注释
首先来看下Unity:在Editor文件夹下创建脚本如下:using UnityEngine;using System.Collections;using System.IO;namespace UGUIFrameWorkEditor{ public class ChangeScriptTemplates : UnityEditor.AssetModificationProcessor
2017-02-08 23:46:28
2078
原创 Unity3D Json序列化与反序列化存储到ScriptableObject
不懂ScriptableObject创建的请看之前文章ScriptableObject的创建。拿到策划给我们这样一个Excel表格,我们需要先通过Json在线编辑器将它转换为Json,看图: 将Excel内容全选复制转换成这样: 复制内容丢到JSON在线编辑器里边,并且给内容添加一个大括号,以及添加个属性名,最后把最后一个‘,’去掉,看图: 然后点击这个东西将内容复制下来,在Unity某个文件
2017-01-21 09:51:26
6317
原创 Unity3D 动画系统的StateMachineBehaviours
创建动画状态机脚本:using System;using UnityEngine;using System.Collections;public class AnimatorStateMachine : StateMachineBehaviour{ public Action<int> EnterStateCallBack; public Action<int> ExitStat
2017-01-20 13:54:08
6393
原创 Unity3D 单利模式
using UnityEngine;using System.Collections;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour{ private static T instance; /** Returns the instance of this singleton.
2017-01-20 08:59:27
2182
原创 Unity3D 实例化UGUI自适应的预设
拉个预设如图: public GameObject m_Prefab; void Start () { GameObject go=Instantiate(m_Prefab); go.transform.SetParent(transform); }我们直接实例化这个设置好自适应的UGUI预设,如果我们直接实例化会这样: 这样的结果完全不
2017-01-19 23:38:27
2293
原创 C# 位运算符
表:位运算符 A=60,B=13; 运算符 描述 实例 $ 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100 l 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A l B) 将得到 61,即为 0011 1101 ^ 如果存在于其中一个操作数中但不同时存在于两个
2017-01-19 22:32:30
1299
原创 C# 斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。1. static int Func(int n) { if (n <=
2017-01-19 21:24:43
2590
原创 C# Lambda表达式
首先先看下委托:delegate int GuangChaoshi(int a);static void Main(string[] args){ GuangChaoshi gwl = JieZhang; Console.WriteLine(gwl(10) + ""); //打印20,委托的应用 Console.ReadKey();}public sta
2017-01-19 20:46:56
511
转载 C# 匹配中文字符串的4种正则表达式分享
本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围。 在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5]。所以,在此基础上,我们可以得到如下一些正则表达式。1、匹配字符串全部是中文字符的正则表达式 代码如下:“^[\u4e00-\u9
2017-01-19 17:57:32
7683
3
原创 Unity 5.x中的AssetBundle(二)
二、AssetBundle下载Unity 5.x中的AssetBundle(一)一、Downloading AssetBundles(下载资源包) 这里有两种方式下载AssetBundles: 1、非缓存方式下载:通过创建一个WWW类对象来下载(WWW www = new WWW(url)),这种方式不会缓存到本地存储的文件中。 2、缓存方式下载:通过使用WWW.Loa
2017-01-19 15:53:40
2582
原创 Unity 5.x中的AssetBundle(一)
最近在研究lua,接触了AssetBundle,恩,记录下学习心得吧。 官方文档:https://docs.unity3d.com/Manual/AssetBundlesIntro.html一、为AssetBundle起名字,并打包官方的图,在Inspector检查器窗口的底部是AssetBundle菜单,从第一个下拉框中选择或设置AssetBundle的名称,第二个下拉框是附加选项
2017-01-19 15:49:35
2782
原创 C# 正则表达式的使用
参考:http://www.cnblogs.com/youring2/archive/2009/11/07/1597786.html 在原文的基础上增加一些自己的理解实例。目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、
2017-01-19 15:01:14
893
转载 C#堆和栈的区别
原文:http://www.cnblogs.com/codingsilence/archive/2011/02/28/2146584.html解释1、栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小解释2、存放在栈中时要管存储顺序,保持着先进后出的原则,他是一片连续的内存域,有系统自动分配和
2017-01-19 09:43:21
644
转载 C#详解值类型和引用类型区别
原文:http://blog.csdn.net/qiaoquan3/article/details/51202926首先,什么是值类型,什么是引用类型?在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。 值类型(value type):byte,short,int,long,float,double,decimal,char,bool 和 struct 统称
2017-01-18 23:43:58
378
转载 Unity&Shader案例篇—膨胀效果
原文:http://www.manew.com/thread-99195-1-1.html一、前言首先,来看一下效果图,如图所示: 这个效果要使得摄像机的Clear Flags为Solid Color模式,如果为其他模式可能会看不到外部那一圈光环。二、实现原理1、Shader部分:将需要使用两个Pass块,两个Pass块里输出的颜色不同,并最终使用透明度混合得到最后输出的像素颜色。●第一个Pass
2017-01-16 17:47:39
2156
转载 Unity&Shader案例篇—声纳光波效果
原文:http://www.manew.com/thread-98405-1-1.html一、前言睡前再来一篇吧,明天周一了,加油吧!废话不多说了,先上效果图如图所示,前面两个的效果图是两种模式下的: 不同效果,最后一章图片是在其中一种模式下,场景进行了精心布置后的效果图。看效果图会不自觉的认为实现这个效果是不是要在场景中的物体中进行绘制,如果真是要这样做的话那是在是太耗性能了(毕竟都工作了,本人
2017-01-15 23:44:52
2435
转载 Unity&Shader案例篇—绘制雪花
原文:http://www.manew.com/thread-98360-1-1.html一、前言 之前有个案例讲到了Unity&Shader案例篇—绘制雨滴,没有看过的童鞋可以在回去看看,这一篇其实思路和绘制雨滴是一样的。首先,用代码C#生成顶点和面片,然后用Shader代码渲染,最后在用C#代码控制Shader的参数使得雪花飘起来。飘动的时候加点噪声处理,使得雪花的飘落更符合真实。上一篇加班太
2017-01-15 22:41:52
4005
转载 Unity&Shader高级案例篇—图形命令缓冲
原文http://www.manew.com/thread-97942-1-1.html一、前言上一章讲的到底有什么用呢?带着此疑问你可以耐心的看看这篇的介绍。继上一篇文Unity&Shader高级篇-渲染路径(Rendering Paths),本篇其实算是中渲染管线的一个拓展。当然也要在理解了上一章的内容之后看这篇的例子就会有一个形象的概念。在中已经有了很多开发者可见的图形渲染功能,诸如标准着色器
2017-01-15 22:18:04
1395
转载 Unity&Shader高级篇-渲染路径(Rendering Paths)
原文:http://www.manew.com/thread-97939-1-1.html一、前言在的Camera中常常会看到一个Rendering Paths的选项,里面有5个选项,其中两个比较重要的选项分别是“Deferred Shading”和“Forward Rendering”,在我还是初学Unity的时候,并没有在意太多。如今随着学习Shader的深入慢慢领会到了这两个渲染路径的重要性。
2017-01-15 22:07:20
2034
转载 Unity&Shader案例篇—屏幕渐暗效果
原文http://www.manew.com/thread-97757-1-1.html一、前言两种实现方法得到的效果是一样的,侧重点不一样,择其良者而用之。二、第一种方案1、效果图如图所示:2、制作步骤首先是C#脚本部分,前面的几章基础篇里面已经提到过这个脚本了,代码如下:using UnityEngine;using System.Collections;public class OVRScr
2017-01-15 21:28:08
1955
转载 Unity&Shader案例篇—绘制雨滴
原文http://www.manew.com/thread-97668-1-1.html一、前言先上效果图,本文不只是简单的绘制雨滴,同时处理了摄像机不同朝向看到的雨滴下落的方向也不一样。二、方法1、绘制雨线:绘制雨使用的是C#脚本绘制的,脚本为:using UnityEngine;using System.Collections;public class Debris : MonoBehavio
2017-01-15 20:58:47
1955
原创 C# 二进制读写与序列化和反序列化
可参考雨松大神:http://www.xuanyusong.com/archives/1919 http://www.xuanyusong.com/archives/1901文章将实现数据存储为二进制文件,然后通过二进制文件解析数据。二进制文件读写操作: //写入二进制文件 public static void WriteByteValues() {
2017-01-15 00:16:52
4066
转载 C# XML序列化和反序列化
原文:http://www.cnblogs.com/nhxy/archive/2010/11/16/1878409.html本文描述如何使用CLR中的StringWriter,XmlSerializer将对象, 对象集合序列化为Xml格式的字符串, 同时描述如何进行反序列化。看代码就能理解,直接上代码了:案例1:using System; using System.Collections.Gen
2017-01-14 20:00:53
553
原创 C# 特性
参考:https://msdn.microsoft.com/zh-cn/library/e8kc3626(v=vs.110) http://www.runoob.com/csharp/csharp-attribute.html特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是
2017-01-14 17:48:49
500
转载 C# Lambda表达式
原文地址:http://www.cnblogs.com/kingmoon/archive/2011/05/03/2035696.htmlLambda表达式“Lambda表达式”是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambd
2017-01-14 10:53:39
404
原创 Unity ScriptableObject的创建
代码很简单,直接上代码了。using UnityEngine;using UnityEditor;using System.IO;using System;public class ScriptableObjectCreater : EditorWindow{ string className; string scriptableObjectName; [MenuIte
2017-01-12 10:05:05
3813
1
原创 C# 枚举类型的扩展
随机获得一个枚举public static T RandomEnum<T>() { T[] results = Enum.GetValues(typeof(T)) as T[]; Random random = new Random(); T result = results[random.Next(0, results.Length)];
2017-01-12 09:13:27
2371
原创 tolua 学习笔记 插件的使用
参考文章http://blog.csdn.net/u010665359/article/details/50950989tolua导入插件思路:其实框架里面都已经做好了扩展接口ToLuaExport.cs 里面的ProcessExtends函数。注意:extendName = “ToLua_” + className.Replace(“.”, “”); 这是tolua约束好的格式以Tolua开头,也
2017-01-11 22:09:40
5448
2
原创 Unity 判断鼠标上下左右拖动
很简单,直接上代码,解释都在注释中。public class InputController:MonoBehaviour,IPointerDownHandler,IDragHandler,IPointerUpHandler { private float fingerActionSensitivity = Screen.width * 0.05f; //手指动作的敏感度,这里
2017-01-11 17:51:42
6793
1
原创 Unity Mask遮挡模型忽略UI
在做ui栏滚动的时候,物品上下滚动,当某个物品在顶格或者在底格的时候,这时候需要滚出去,会有一部分在ui上,一部分要消失,如图:箭头指向的部分需要隐藏掉。开始吧,需要两个相机,一个ui相机,一个ui模型相机,ui结构如下重点在这,3dmask是一个Quad,需要创建一个shader,在SubShader中添加ColorMask 0不懂的直接复制下面代码:Shader "基础纹理/mesh"{
2017-01-11 12:01:58
7219
1
转载 Shader案例篇二《镜子2》
一、前言上一篇介绍了有关镜子的制作,有关理论部分的内容我会在后续相关的文章中陆续介绍,莫急,我先趁着自己脑子还是对此技术比较热,趁热打铁尽早把实现部分先写出来。上一章的介绍制作的镜子其实只是一个取巧的方法,并不能做到实时的反射出实物,但是思路还是比较有意思的。Mirrors3.gif 下载附件 二、中制作原理1、简单说明:其实这个原理就是用一个摄像机去拍镜子上面的物体将得到的图像投影给Plane,
2017-01-10 08:52:22
1281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人