自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 readonly和const的区别

readonly 关键字是可以在字段上使用的修饰符。 当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。https://msdn.microsoft.com/zh-cn/library/acdd6hb7.aspx const 的概念就是一个包含不能修改的值的变量。 常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中

2016-12-12 12:47:04 619

原创 使用多线程创建下载任务

public class ThreadDownloadFile{ //下载地址 public string url; //下载到本地的目录 public string localPath; //检查是否下载完成 public bool isDone = false; public ThreadDownloadFile(string url, s

2016-12-01 23:31:34 427

原创 TCP与UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,

2016-11-27 15:25:12 392

原创 C#面向对象(五)委托

委托定义委托是方法的代理,委托代表方法,调用委托就是调用了这个方法。委托是一种数据类型。委托的使用定义委托 public delegate void Handler();实例化委托 Handler handler = new Handler(Func);调用委托 handler();委托的分类单播委托:一个委托对象只关联一个方法。 多播执行:一个委托对象关联多个方法,如果委托有返回类

2016-10-09 21:35:40 668

原创 C#面向对象(四)接口

接口定义接口是一组行为的抽象,不能有任何实现。C#语言中:使用interface 关键字创建的数据类型(接口名建议用”I”开头,其后单词首字母大写)特点1. 接口是抽象的接口是一组行为的抽象,接口只能表达行为,行为都必须是抽象的接口中不能有字段(数据)接口中可以有表示行为的成员(方法,属性,索引器,事件)接口中的成员必须是抽象的!接口只关注行为,[不关注数据,且不关注行为的实现]2

2016-10-07 13:19:23 919

原创 C#面向对象(三)多态

多态对象的多种形态 辛巴是狮子; 辛巴是动物。 Animal xinBa = new Lion();行为的多种形态 同样的行为,但是表现形式不同。也就是说方法签名一样,方法体不同。(签名在这里指的是方法名、参数以及返回值) 行为的多态体现为方法的重写、隐藏、重载方法隐藏隐藏是实现多态的基本方法之一。 class Program { static void Ma

2016-10-07 10:46:16 658

原创 C#面向对象(二)继承和组合

继承复用代码的方式:继承和组合 继承:复用代码的一种方式,可以复用代码或概念。 组合:复用代码,不能复用概念。在C#中,Object类是一切类的直接父类或间接父类。 子类拥有所有父类的非私有成员。 构造函数不能继承 创建子类时,自动调用父类的构造函数,并且父类中的先执行 概念复用:Dog dog = new Dog();Animal dog = new Dog();为什么需要继承/继承

2016-10-06 16:55:07 3447

原创 C#面向对象(一)封装、类和对象

面向对象的三大特性封装、继承、多态类与对象 封装封装:组织代码的过程,将代码组织为一个方法,将方法组织成类,将类组成组件,不同的组件组织为一个系统。封装可以方便使用者使用,并且能够保证代码的稳定性,安全性。 类:一组相似对象的统称。 对象:一个实例,是类的实现。类与对象的关系 类 对象 抽象 具体 无状态 有状态 是对象的模板 是类的实例类与类的关系 类与类的

2016-10-06 16:10:45 782

原创 球形射线的使用

一般在游戏中,人物放出大范围攻击技能的时候可以使用球形射线。例如:void ExplosionDamage(Vector3 center, float radius) { Collider[] hitColliders = Physics.OverlapSphere(center, radius); int i = 0; while (i < hitC

2016-09-08 22:48:47 3439

原创 U3D开发学习之路——持久化数据

PlayerPrefsUnity提供了一个本地持久化保存与读取数据的类——PlayerPrefs.它的工作原理是以键值对的形式将数据保存在文件中,这就好比给需要保存每一个数据赋予一个名称,将其成功存入本地存档中,程序就可以根据这个名称取出上次存储的数据。保存于读取数据PlayerPrefs类可保存和读取3种基本的数据类型,它们是浮点型、整形和字符串类型,涉及的方法如下。SetFloat( ):保存

2016-09-04 14:42:54 1816

原创 U3D开发学习之路--Mecanim动画系统

Mecanim特性针对人形角色提供了一种特殊的工作流,包含Avatar的创建和对肌肉的调节。动画重定向的能力,可以非常方便地把动画从一个角色模型应用到其他角色模型上。提供了可视化Animator视窗,可以直观地通过动画参数Transition(动画过渡线)等管理各个动画间的过度。Mecanim常用Animator:Mecanim动画系统组件AnimatorContr

2016-09-03 16:34:33 2535

原创 U3D开发学习之路——使用Unity3D中的寻路方法

寻路的方法如下步骤1、将场景中的地面以及障碍物勾选Static,调出Navigator视窗,点击Bake,形成寻路网格。2、给需要自动寻路的物体添加寻路组件——Nav Mesh Agent3、添加脚本给自动寻路的物体:public Transform target;NavMeshAgent myNav;void Start(){ myNav = GetComponent<NavMeshA

2016-09-03 16:12:13 5980

原创 U3D开发学习之路——贝塞尔曲线

Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线。 曲线定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。 1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名,称为贝塞尔曲线。 以二阶贝塞尔曲线为例 贝塞尔公式脚本publ

2016-09-03 11:11:23 1568

原创 U3D开发学习之路--RayCast中layerMask的使用

layerMask是遮罩层,使用RayCast可以屏蔽或者只投射遮罩层中的物体。代码如下; Ray ray; RaycastHit hit; public Transform playerTF; public Camera cameraAnother; int layerMask = 1<<8; void Update () { if (Input.GetMouseButton

2016-08-31 23:06:29 2458

原创 U3D开发学习之路--问题

今天在开发的时候遇到一些问题,在博客中记下来1、关于各种LerpUnclamped函数的用法,需要注意:起点与终点必须是固定的,比例可以根据曲线变化。例如:AnimationCurve curve;float x+=Time.deltaTime / duration;this.transform.position = Vector3.LerpUnclamped(beginPos,e

2016-08-29 23:29:12 591

原创 U3D开发学习之路——递归算法

使用此方法类可以在一个父物体的下面递归去查找名字为childName的子物体public static Transform GetChild(Transform parentTF, string childName) { //在子物体中根据名称查找 Transform childTF = parentTF.Find(childName); if

2016-08-29 22:36:15 750

原创 Unity3D开发学习之路--两种在Unity3D中创建倒计时器的方法

两种在Unity3D中创建倒计时器的方法

2016-08-25 22:53:33 17158 2

原创 U3D开发学习之路--脚本生命周期以及常用类

脚本的生命周期是非常重要的概念:Unity脚本从唤醒到销毁的过程。如下图:初始阶段:Awake():经验不多,我认为一般在工具类当中一般把初始的变量都写进该调用函数中。Start():游戏初始化的时候使用。物理阶段:FixedUpdate(),OnCollisionXXX,OnTriggerXXX输入事件:OnMouseEnter(),--Over,--Ex

2016-08-24 23:14:24 2063

原创 u3D开发学习之路--创建多层血条脚本

实现游戏中Boss掉血的方法,该方法可以创建多层血条。如有写的不好的地方请大家指出1、首先在Hierarchy面板中创建Canvas画布;2、在Canvas下创建空物体作为血条;3、在HealthBar下创建image的UI;4、创建BossHealthBar脚本并拖到HealthBar上,编写脚本;using UnityEngine;using Un

2016-08-22 23:59:45 859

原创 U3D开发学习之路--字符串的3个小练习

字符串反转public string StringReverse(string targetString){ char[] toArray = targetString.ToCharArray();//将字符串拆分成字符数组 System.Array.Reverse(toArray);//使用Reverse方法反转数组 return new string(toArray

2016-08-22 23:12:01 1519

原创 u3D开发学习之路--鼠标控制摄像机旋转

先说说编程习惯的问题,在写代码的时候我们应该尽量让别人对自己的代码的来龙去脉一目了然。我在最开始写代码的时候,只是一味的往上面写,无论是从可读性还是对内存的分配空间的利用率都很差,如果代码出现问题根本不愿意再回头检查,因为实在是太乱了。但是通过这两个星期不断的阅读老师的代码,我逐渐的开始规范自己的代码,让其更加具有可读性,高聚类,低耦合。using UnityEngine;using Sys

2016-08-21 21:49:23 8494

原创 U3D开发学习之路--C#基础

C#语言的一些重点概念。

2016-08-21 16:04:05 3488

原创 Kinect 2.0 在Mac OSX EI Capiton 配置成功

本文为原创,转载请注明一、写在前面1、Kinect v2只支持USB3.02、在编译Protonect的时候如果提示信息"no device connected"或者 “failure opening device” 。解决方法:打开Spotlight输入 System Information或者系统信息并打开,找到usb一项,确保 Xbox NUI Sen

2015-11-01 10:18:21 6760 4

原创 OpenCV—多通道颜色分离&混合

这几天一直在跟着浅墨的博客学习OpenCV,关于【OpenCV入门教程之五】 分离颜色通道&多通道图像混合 本人提出一些自己的看法:1、首先感谢浅墨的OpenCV教程,写的很详细,通俗易懂,受益匪浅, http://blog.csdn.net/poem_qianmo/article/details/21176257 2、因为最初的设想是想将一张图片的颜色分别呈现出红色,蓝色,绿色,而不

2014-12-11 09:29:37 1822

OpenCV--颜色通道分离与混合

请查看详细说明http://blog.csdn.net/ballshe/article/details/41862417

2014-12-11

空空如也

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

TA关注的人

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