自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 C#.net内存分配问题(堆、栈、LOH堆)

内存分为三种:线程的堆栈、GC堆、LOH(large object heap)堆线程的堆栈:用于分配值类型实例;有操作系统管理,不受垃圾收集器的控制。当值类型实例所在方法结束时,其存储单位自动释放;栈的执行效率高,但是存储容量有限;GC堆:用于分配小对象实例。如果对象的实例大小小于85000字节,将分配在GC堆上;当有内存分配或者回收时,垃圾收集器可能会对GC堆进行压缩;LOH堆:用于分配大对象实例。如果对象的实例大小>=85000字节,将分配在LOH堆上;L

2021-06-11 15:24:25 1080 1

原创 c#学习——OpenFileDialog文件对话框

下面是OpenFileDialog类的属性!!!!!!!!!!!!!!//获取或设置一个值,该值指示如果用户省略扩展名, 对话框是否自动在文件名中添加扩展名。 dlg.AddExtension = cbAddExtension.Checked; //获取或设置一个值,该值指示如果用户指定不存在的文件名 对话框是否显示警告 dlg.CheckFileExists = cbCheckFi

2017-12-29 15:57:06 770

原创 Unity学习——Transform组件的使用(坐标系)、物体拾取投掷

物体的拾取投掷主要是对Transform中的几个方法的使用 1.TransformPoint()——变换位置从自身坐标到世界坐标 2.InverseTransformPoint()——变换位置从世界坐标到自身坐标 3.TransformDirection()——从自身坐标到世界坐标变换方向 4.InverseTransformDirection()——从世界坐标到自身坐标变换方向首先要搭建一

2017-10-10 16:09:14 2689

原创 Unity学习——UGUI制作技能的冷却效果

技能冷却的原理是控制Image中的填充效果为Filled时的FilledAmount属性值的依次减少,从而产生技能的冷却效果。 首先我们需要准备素材,技能的背景图(SkillBg),技能图(Image),冷却的技能图(FillImage只是把技能图的颜色设置为黑灰色) 然后将每个图罗列好(背景图是技能图和冷却图的父物体),背景图和技能图无须修改,只要将冷却图的Image Type修改为F

2017-09-26 17:07:07 2932 1

原创 Unity学习——UGUI开发之滑动条Slider

首先我们先观察Slider的各属性 Background为滑动条的背景图片 Fill为滑动条的前置图片,即滑轮划过之后显示的图片 Handle为滑轮的图片 如何设置与众不同的滑动条呢?很简单只需要改变上述三个图片就OK了, 该控件我只是将背景图片设置为黑灰色的图片,前置图片设置为绿色图片,滑轮设置为一个小球,在感觉上就比默认的Slider上档次多了。

2017-09-26 12:17:36 4196 2

原创 unity学习——事件机制(观察者模式)

在C#中的事件机制便是以委托作为基础的。下面我们来做一个小例子:场景中一个按妞,点击按妞,通过摄像机上的脚本来打印一句话。 1.定义委托类型,确定回调方法原型。 public delegate void buttonDelegate(); 2.定义事件成员。 public event buttonDelegate buttonEvent; 3.定义触发事件的方法。 priva

2017-09-20 20:31:57 1000

原创 unity学习——值类型和引用类型

在分析C#中的值类型和引用类型之前,先通过两个例子来使抽象的概念变得更加具体而生动。 假设你正在看一本书,而此时你的朋友也很想跟看你手上的那本书。为了能让你朋友看到,要么你将自己的书借给对方,要么在复制一份副本给他。无论怎么做,都是在对书本身进行操作,而复制后的两本书完全是独立的、没有关系的。那么这种行为,可以类比为C#中值类型行为。 换一种假设,假设你正在看电视,换台、调节音量等对

2017-09-19 17:29:02 3450

原创 unity学习——单例模式

顾名思义单例模式表达的是只能创建一个实例。通常用在需要统一管理某项实物的时候用到。单例模式我们是通过将构造函数设为私有来实现。 using System.Collections;using System.Collections.Generic;using UnityEngine;public class SounderManager {//不能继承MonoBehaviour priva

2017-09-14 16:51:36 355

原创 unity学习——使用协程实现延时效果

上一篇中我们提到了使用WaitForSeconds方法来实现延时效果。现在我们来介绍使用WaitForFixedUpdate方法实现。 WaitForFixedUpdate方法也必须配合yield语句使用。从它的类名上就可以知道它的功能,暂停协程知道下一次FixedUpdate时才会继续执行协程,因此它的构造函数也十分简单,它不需要额外的参数。using System.Collections;

2017-09-14 15:50:14 5458

原创 unity学习——协程的停止StopCoroutine

StopCoroutine方法和StartCoroutine方法类似,也有两个重载。 void StopCoroutine(string methodName) void StopCoroutine (IEnumerator routine) 该方法既可以将协程方法的方法名作为一个string型的参数传入,也可以将IEnumerator 类型的参数传入。 接下来介绍一下StopCorouti

2017-09-13 19:18:09 9590

原创 untiy学习——开启协程

继上一篇,我们要调用Fade方法,我们就要使用unity3D中的StartCoroutine方法。 下面我们就通过StartCoroutine方法来开启定义协程Fade,代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using System;public class C

2017-09-13 18:51:44 880

原创 unity学习——初识unity3D中的协程

unity3D是单线程的,因此它同样实现了协程机制来实现一些类似于多线程的功能。一个很好的例子就是使一个游戏对象的透明度随着时间逐渐降低,直至完全无法看到,我们是无法通过直接调用一个方法来实现对折时间而逐渐减少一个对象的alpha值的。例如下面这段代码: void Fade() { for(float f = 1f; f >= 0; f -= 0.1f)

2017-09-13 15:52:21 399

原创 unity学习——委托(带参数方法的使用)

这是一个只具有打印功能的脚本using System.Collections;using System.Collections.Generic;using UnityEngine;public class DelegateScript : MonoBehaviour { //声明一个委托类型,它的实例引用一个方法 delegate void MyDelegate(int num);

2017-09-12 16:51:37 5136

原创 unity学习——委托delegate的使用

初次接触c#的委托机制,感觉非常方便使用,下面是一个简单的委托使用的例子。目的:实现按下键盘上左右键能使三个cube物体同时移动1.首先创建一个unity场景(非常简单包括一个主相机,三个cube物体cube1,cube2,cube3) 2.建立两个C#脚本,一个名为SmartCube,另一个名为CubeManager SmartCube的代码如下:using System.Co

2017-09-12 16:18:57 729

Fastreport.zip

快捷报表软件设计器,fastreport

2021-07-06

C#压缩文件解压文件.rar(附带动态库)

Winform、wpf通用压缩文件解压文件的方法,添加引用附带动态库,可实现文件的压缩解压,压缩可添加密码。有问题留言。

2020-03-11

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

TA关注的人

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