自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity 3D 创建 合适角度 圆环 内 五边形柱体 mesh

//角度为0-360正值,0起X轴逆时针 public static GameObject CreatePentagonMesh(float _radius, float _innerradius, float _startangle, float _angledegree, float _height,GameObject obj = null) { //Debug.Log(string.Format("起始角度 = {0},总角度 = {1}.", _startangl.

2021-11-10 18:52:22 2404

原创 Unity 3D 动态创建Mesh圆环

using UnityEngine;public class _DebugCreateMesh : MonoBehaviour{ public float Radius = 6; //外半径 public float innerRadius = 3; //内半径 public float angleDegree = 360; //扇形或扇面的角度 public float startAngle = 0;//起始角度 publi.

2021-10-19 14:43:07 2008

原创 Unity 3D 角色状态机实现

状态基类:public abstract class StateBase{ private bool isAwake = true; protected bool isFinish = true; public void ActionStart(params object[] pars) { OnActionStart(pars); } public void ActionUpdate() { OnAction

2021-06-25 18:17:37 740 1

原创 Unity 3D 区域内获取随机点

using UnityEngine;public class RandomArea : MonoBehaviour{ public enum _AreaType { Square, Circle } public _AreaType type; public Color Color = Color.red; public Quaternion GetRotation() { return Quaternion.Euler(0, transfo.

2021-06-18 18:59:36 1950 2

原创 Unity3D 贝塞尔曲线 抛物线 两点求曲线 追踪弹相关问题

关于贝塞尔曲线的讲解,比较清楚的点击查看。

2021-06-09 17:25:44 750 4

原创 大话数据结构 第9章 排序 直接插入排序

想想扑克斗地主,整理顺子的时候。直接插入排序(Straight insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1d

2021-06-04 16:15:04 128

原创 大话数据结构 第9章 排序 简单选择排序

简单选择排序算法: 简单选择排序法(Simple Selection Sort)就是通过 n-i 次关键字间的比较,从 n-i+1 个记录中选择出关键字最小的

2021-06-04 10:57:31 122

原创 大话数据结构 第9章 排序 冒泡排序

冒泡排序(Bubble Sort)一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。冒泡排序初级版:

2021-06-03 11:10:53 250

原创 大话数据结构 第9章 排序 简介

假设含有 n 个记录的序列为 ,需确定 1,2......,n 的一种排序 ,使其相应的关键字满足 非递减(或非递增)关系,即使得序列成为一个按关键字有序的序列 ,这样的操作就称为排序。 我们再排序问题中,通常将数据元素称为记录。显然我们输入的是一个记录集合,输出的也是一个记录集合,所以说,可以将排序看成是线性表的一种操作。 排序的依据是关键字的大小关系,那么,对同一个记录集合,针对不同的关键字进行排序,可以得到不同序列。 主关键字,次关键字,甚至是若干数据...

2021-06-02 14:39:49 89

原创 Unity 3D 脚印 足迹 粒子特效实现

using UnityEngine;public class FootstepsS : MonoBehaviour{ public ParticleSystem system; public float delta = 1; public float gap = 0.5f; public bool ShowFootsteps = true; private Vector3 lastEmit; private int dir = 1; pri.

2021-05-11 11:51:50 2205

原创 Unity 3D 使用 UGUI 创建摇杆 的简易代码

using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class JoyStickS : MonoBehaviour{ public class JoystickInputS { public Quaternion Quaternion; public float Distance; public float MaxDistance;.

2021-04-25 11:35:16 202

原创 Unity3D 碰撞盒忽略碰撞

有时候我们不希望,特定的两个碰撞盒产生碰撞效果,但是还要与其他非特定碰撞盒产生碰撞效果。这时我们可以使用:Physics.IgnoreCollision();指定两个碰撞盒,这时碰撞器和触发器均失效了。延申,屏蔽两个层级之间的碰撞效果:Physics.IgnoreLayerCollision();指定两个层级Layer,这时碰撞器和触发器均失效了。...

2021-03-09 11:50:05 3153

原创 Unity3D 继承Mono的脚本在属性面板有时没有复选框的问题

参考 :https://blog.csdn.net/a237653639/article/details/45766101?utm_source=blogxgwz6简单说:加上 start 方法,空方法就行。

2021-03-05 15:34:21 156

原创 Unity3D 刚体施加爆破力失效问题

GetComponent<Rigidbody>().AddExplosionForce();有时候工作,有时候不工作。还看不出哪有问题。重点来了:我遇到的,这时候,刚体是有父节点的。并且父节点的position,rotation不是(0,0,0)。此时,将父节点 transform reset一下。或者,直接干掉父节点。刚体爆破力就好使了。...

2021-03-05 15:30:06 643

原创 unity3D Slider 面板赋值的OnValueChanged事件,如果代码参数是float会导致只能传一个定值(默认为0)

我的unity版本是2018.4.18f1,Slider的OnValueChanged事件,如果代码参数是float会导致只能传一个定值(默认为0,可能导致一些问题);此时可将代码参数改为Slider(将自身Slider拖进去),获取Slider的value进行赋值。...

2021-02-01 16:46:34 2179 4

原创 Unity3D UI指引小手 世界坐标转UGUI坐标

public class GuideManager : MonoBehaviour { public static GuideManager Instance = null; private RectTransform canvas; private RectTransform ImageRoot; private Animator handAnim; private readonly string state...

2020-12-21 19:08:57 190

原创 Unity 3D相机FOV适配不同分辨率

2020-12-17 14:03:43 1407

原创 大话数据结构 第八章 查找 有序表查找 插值查找

前面说了折半查找,那为什么是折半而不是四分之一或者别的呢?折半查找的代码中 mid 的赋值经过变换得到:也就是mid 等于最低下标low 加上最高下标 hign 与 low 的差的一半。算法科学家就是考虑将这个进行改进,改进为下面的计算方案:将改成了...

2020-11-23 10:52:02 102

原创 大话数据结构 第八章 查找 有序表查找 折半查找

折半查找(Binary Search)技术,又称为二分查找。它的前提是线性表中的记录必须是关键码有序(通常从小到大有序),线性表必须采用顺序存储。折半查找的基本思想是:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。不断重复上述过程,知道查找成功,或所有查找区域无记录,查找失败为止。时间复杂度分析:我们将这个数组的查找过程绘制成一棵二叉树。从图上

2020-11-20 16:10:04 744 1

原创 大话数据结构 第八章 查找 顺序表查找

顺序查找(Sequential Search)又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录;如果直到最后一个(或第一个)记录,其关键字和给定值比较都不相等时,则表中没有所查的记录,查找不成功。顺序表查找算法:很简单,在数组中查找有没有关键字(key),当你需要查找复杂表结构的记录时,只需要把数组与关键字定义成你需要的表结构和数据类型即可。时间复杂度是O(n),

2020-11-17 20:14:25 131

原创 大话数据结构 第八章 查找 概述

我们需要在一些数据中查找我们需要的数据,所有这些需要别查的数据所在的集合,我们给他一个统称叫查找表。查找表(Search Table)是由同一类型的数据元素(或记录)构成的集合。关键字(Key)是数据元素中某个数据项的值,又称为键值,用它可以标识一个数据元素。若此关键字可以唯一地标识一个记录,则称此关键字为主关键字(Primary Key)。对于那些可以识别多个数据元素(或记录)的关键字,我们称为次关键字(Second Key)。查找(Searching)就是根据给定的某个值,在查找表中确定

2020-11-17 16:48:40 118

原创 大话数据结构 第六章 树 遍历二叉树

二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序一次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次。二叉树遍历方法1.前序遍历规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。2.中序遍历规则是若树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结点),中序遍历根结点的左子树,然后访问根节点,最后中序遍历右子树。3.后续遍历规则是若树为空,则空操作返回,否则从左到右先叶子后结点的

2020-11-13 18:57:58 149

原创 大话数据结构 第六章 树 二叉树的定义

二叉树(Binary Tree) 是 n () 个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。二叉树的特点:每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者有一颗子树都是可以的。 左子树和右子树是有序列的,次序不能任意颠倒。 即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。二叉树具有五种基本形态:空二叉树。 只有一个根节点。 根节点只有左

2020-11-13 15:29:09 269

原创 大话数据结构 第六章 树 Tree 简介

树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。树的定义其实就是我们在讲解栈时提到的递归的方法。也就是在树的定义中还用到了树的概念。对于树的定义还需要强调两点:1.n>0时根结点是唯一的,不可能存在多个根结点。2.m>0时,子树的个数没有限制,但它们一

2020-11-09 18:44:06 129

原创 大话数据结构 第五章 串(附C#实现)

串的定义:串(string)是由零个或多个字符组成的有限序列,又名叫字符串。一般记为s= ""(n>=0),s 是串的名称,用双引号括起来的字符序列是串的值,引号不属于串的内容。(1<= i <= n) 可以是字母、数字或其他字符,i 就是该字符在串中的位置。(C#中 i 是0至n-1)。串中的字符数目 n 称为串的长度,定义中说道的“有限”是指长度 n 是一个有限的数值。零个字符的串称为空串,它的长度为零,可以用两个双引号""表示。所谓的序列,就说明串的相邻...

2020-08-24 14:36:25 201

原创 大话数据结构 第四章 栈与队列 队列

队列的定义:队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。队列的顺序存储假设我们一个队列有n个元素,则顺序存储结构的队列需要建立一个大于n的数组,并把队列的所有元素存储在数组的前n个单元,数组下标为0的一端是队头。入队操作就是在队尾追加一个元素,不需要移动任何元素,时间复杂度为O(1)。出列是在队头,即下标为0的位置,所有元素都得向

2020-08-11 16:25:07 135

原创 大话数据结构 第四章 栈与队列 栈 栈的应用---递归

我们先看一个经典的斐波那契数列(Fibnacci)。应用题:兔子出生两个月就可以生兔子,每对兔子每月生一队兔子,假设兔子不死,一年后共多少对兔子?月 1 2 3 4 5 6 7 8 9 10 11 12 兔子对数 1 1 2 3 5 8 13 21 34 55 89 144 数学函数定义就是:我们先用常规的迭代实现前几位的斐波那契数列。

2020-08-10 15:43:32 189

原创 大话数据结构 第四章 栈与队列 栈 栈的链式存储结构及其实现

栈的链式存储结构,简称为链栈。 public class StackNode<T> { public T data; public StackNode<T> next; public StackNode() { data = default(T); } } public class LinkStack<T> { p

2020-08-10 14:27:51 117

原创 大话数据结构 第三章 栈与队列 栈 顺序存储结构(附C#栈实现)

栈的定义:栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。栈底是固定的,最先进栈的只能在栈底。栈的插入操作,叫做进栈,也称压栈、入栈。类似子弹入弹夹。栈的删除操作,叫做出栈,也有的叫作弹栈。进栈出栈变化形式问,最先进栈的元素,是不是只能最后出栈?答案是不一定,要看具体情况。举例:

2020-08-07 17:19:14 169

原创 大话数据结构 第三章 线性表 静态链表 (附C#静态链表实现)

用数组描述的链表叫做静态链表。还有叫法是游标实现法。为了方便使用,我们可以把数组建立的大一些。另外我们对数组的第一个和最后一个元素作为特殊元素处理,不存数据。我们通常把未使用的数组元素称为备用链表。而数组第一个元素,即下标为 0 的元素的 cur 就存放备用链表的第一个结点的下标;而数组的最后一个元素的 cur 则存放第一个有数值的元素的下标,相当于单链表中的头结点的作用。 public class Node<T> { public T data;//

2020-08-07 11:26:46 131

原创 大话数据结构 第三章 线性表 线性表的链式存储结构(附C#单链表实现)

线性表的顺序存储结构,最大的缺点就是插入和删除时需要移动大量元素。线性表链式存储结构定义为了表示每个数据元素与其直接后继数据元素之间的逻辑关系,对数据元素来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称做指针或链。这两部分信息组成数据元素的存储映像,称为结点(Node)。n个结点(的存储映像)链结成一个链表,即为线性表(,,...,)的链式存储结...

2020-08-06 15:47:12 226

原创 大话数据结构 第三章 线性表 简介

线性表的定义线性表(List):零个或多个数据元素的有限序列。①首先它是一个序列。元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。②线性表强调是有限的。若将线性表记为(,...,,,,...,),则表中领先于,领先于,称是的直接前驱元素,是的直接后继元素。当 i = 1,2,...,n-1时,有且仅有一个直接后继,当 i = 2,3,...,n时,有且仅有一个直接前驱。线性表元素的个数 n...

2020-08-05 15:33:19 142

原创 大话数据结构 第二章 算法 简介

算法定义算法定义:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法的特性1.输入和输出算法具有零个或多个输入。算法至少有一个或多个输出。2.有穷性有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。3.确定性确定性:算法的每一步骤都具有确定的含义,不会出现二义性。4.可行性可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。算法设计的.

2020-07-31 17:46:52 429

原创 大话数据结构 第一章 简介

基本观念和术语数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。数据对象:是性质相同的数据元素的集合,是数据的子集。数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。逻辑结构与物理结构逻辑结构:是指数据对象数据之间的相互关系。1.集合结构集合结构:.

2020-07-31 15:36:20 116

原创 CLR via C# 委托 C#为委托提供的简化语法

许多程序员因为语法奇怪而对委托有抗拒感。例如:其中button_click是方法,像这样:第一行代码的思路是向按钮控件登记button_click方法的地址,以便在按钮被单击时调用方法。许多程序员认为,仅仅为了指定button_click方法的地址,就构造一个EventHander委托对象,这显得有点不可思议。然而,构造EventHander委托对象是CLR要求的,因为这个对象提供了一个包装器,可确保(被包装的)方法只能以类型安全的方式调用。这个包装器还支持调用实例方法和委托链。..

2020-07-07 17:33:02 391

原创 CLR via C# 委托 委托定义不要太多(利用泛型委托)

Microsoft在刚开始开发.NET Framework的时候引入了委托的概念。开发人员在FCL 中添加类时,凡是有回调方法的地方都定义了新的委托类型。随着时间推移定义了许多委托。仅在MSCorLib.dll中就有近50个,举例几个:可以看到这几个委托的共同点。它们其实都是一样的:这些委托类型的变量所引用的方法都是获取一个object,并返回void 。没理由定义这么多委托类型,留一个就行。.NET Framwork现在支持泛型,所以实际只需几个泛型委托(在System命名空间中定义)就.

2020-07-03 15:50:49 193

原创 CLR via C# 委托 用委托回调多个方法(委托链)

委托链是委托对象的集合。可利用委托链调用集合中的委托所代表的全部方法。构造了三个委托对象并让fb1,fb2和fb3分别引用每个对象。指向Feedback委托对象的引用变量fbChain旨在引用委托链(或者说委托对象集合),这些对象包装了可回调的方法。fbChain初始化为null,表明目前要回调的方法。使用Delegate类的公共静态方法Combine将委托添加到链中:1.Combine方法发现视图合并的是null和fb1。在内部,Combin...

2020-07-01 14:33:10 407

原创 CLR via C# 委托 委托揭秘

从表面看,委托似乎很容易使用:用C#的delegate关键字定义,用熟悉的new操作符构造委托实例,用熟悉的方法调用语法来调用函数(用引用了委托对象的变量代替方法名)。编译器和CLR在幕后做了大量工作来隐藏复杂性。首先重新审视这一行代码:看到这行代码后,编译器实际会像下面这样定义一个完整的类:(ILDasm.exe)编译器定义的类有4个方法:一个构造器、Invoke、BeginInvoke和EndInvoke。(所有委托类型都派生自MulticastDelegate)。重

2020-06-29 18:52:04 224

原创 c# 三元表达式 无法确定条件表达式的类型,不存在隐式转换的问题

private void Method() { System.Action action; int a = 10; int b = 20; action = a >= b ? null : (System.Action)Method; }

2020-06-24 17:21:52 512

原创 CLR via C# 委托 初识委托

Microsoft.NET Framework 通过委托来提供回调函数机制。不同于其他平台(比如非托管堆C++)的回调机制,委托的功能要多得多。例如,委托确保回调方法是类型安全的(这是CLR最重要的目标之一)。委托还允许顺序调用多个方法,并支持调用静态方法和实例方法。using System;using System.Windows.Forms;namespace CLRviaCSharp{ //声明一个委托类型,它的实例引用一个方法, //该方法获取一个int参数,返回voi

2020-06-12 15:59:21 169

空空如也

空空如也

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

TA关注的人

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