自定义博客皮肤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)
  • 收藏
  • 关注

原创 向量(unity3d)

向量 Vector3 namespace 向量 { struct Vector3 { public float x { get; set; } public float y { get; set; } public float z{ get; set; } public Vector3(float x, float y, float z) { this.x = x;

2021-11-15 12:41:37 3201

原创 摄像机的安全检测

摄像机安全检测 安全监测的方式有很多种 2.当摄像机发射线可以碰到玩家时,且摄像机当前不在初始位置 如果上一个位置能看到家,则后退一步 如果看不到玩家,不动 public class cameraSafe : MonoBehaviour { //在相机下定义一个空节点作为初始位置 public Transform StartPos; //在相机下定义一个空节点作为结束位置 public Transform EndPos; //插值的第三个参数 publi

2021-11-15 12:40:27 5502

原创 人物的移动和镜头(unity)

人物的移动 //移动的速度 public float speed; //旋转的速度 public float xInstensity; 1.人物前后左右的移动 //人物移动 void Move() { float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); if (horizontal != 0 || verti

2021-11-15 12:35:34 3183

原创 接口(c#)

接口 接口的定义与实现 隐式实现,显示实现的区别 哪些东西可以被继承 接口中有哪些成员 namespace 接口 { class Program { static void Main(string[] args) { } } class Bird { } class Transport { } class Mahjong : Bird { }

2021-11-13 09:55:53 202

原创 属性和字段的区别

属性和字段的区别 属性可以保证安全,在类外使用时,只能使用属性名,避免使用字段名 属性的get和set可以限制字段的一些功能 属性没有存储数据的功能 字段又称为成员变量,一般在类内进行交互,保存具有的数据 ...

2021-11-13 09:53:36 671

原创 数组、流程控制语句

数组 一维数组和二维数组的定义的三种方式 迭代器的遍历 foreach //数组 //将相同的数据类型的数据形成一个有序的集合称为数组 //1、数组是一段连续的内存空间 //2、数组的长度在声明时就必须给定,且长度不可变 //第一种定义 int[] arr1 = { 1, 2, 3, 4, 5, 6 }; //第二种定义,没有给定数组中元素值,会默认值

2021-11-13 09:52:32 339

原创 枚举(c#)

枚举 class Program { //枚举类型:用来列出一种类型可能出现的所有选项 //枚举类型的名字就是一个数据类型 //枚举类型具有自解释性 //枚举类型具有一定的限制性 //枚举类型默认的类型是int. //枚举类型可以设定数据类型,并且设定的类型只能是整数类型,枚举类型的字节数跟设定的类型的字节数保持一致 //枚举类型具有自增性 //枚举类型默认值为0,

2021-11-13 09:23:40 252

原创 泛型(c#)

泛型 泛型的写法 泛型的作用 泛型的约束 new关键字 约束的书写顺序 约束的冲突 namespace 数据结构 { class Program { static void Main(string[] args) { int num1 = 10; int num2 = 20; Swap<int>(num1, num2); // Console.Wri

2021-11-11 09:48:33 139

原创 面向对象的三大特性

面向对象的三大特性 1.封装性 将具有相同特征的一类事物高度概括扩出来 使用不同的访问权限修饰符,将类中的成员进行分配,达到更安全的效果 访问权限修饰符:如果没有在变量或者函数定义时写明是什么时候访问,那么默认是private权限 public 公有的,修饰的成员变量可以在任意其他地方进行访问,不受任何访问限制 private 私有的,修饰的成员只能在自己类内部访问,无法在外部调用 protected 受保护类型 internal 程序集公有类型 2.继承 (:) 将父类所有成员给到子类,提高代码的

2021-11-10 21:12:09 135

原创 static和const

static 1.static static:在类中,使用static修饰的成员称为静态成员,静态成员属于类本身不属于某个对象 1、修饰成员,成员属于类而不属于对象 2、修饰构造函数,声明静态构造函数,用于给静态成员赋值 3、修饰类,将类变成静态类,静态类中允许存在静态成员 static关键字修饰的成员,具有唯一性 静态方法中只能够使用静态成 ​ 静态类无法被实例化创建对象 2.const和static的区别 const本质上来说也是一个静态的成员,但const修饰的变量在初始化后不能再发生变化

2021-11-10 19:08:19 538

原创 索引器(c#)

索引器 索引器的定义 属性与索引器的区别 索引器是否存在下标越界问题? 索引器的参数个数是否有要求? 索引器的参数类型是否有要求? namespace 索引器 { class Program { static void Main(string[] args) { //索引器:让一个类的对象,能够像数组一样进行访问的做法称为索引器 Map map = new Map(); //map.

2021-11-10 17:48:32 234

原创 单例模式(c#)

单例模式 保证一个类只有一个实例对象,(可以不满足)且无法在后续继续生成实例对象。 懒汉模式 饿汉模式 class Singleton { #region 懒汉模式 //单例类唯一的对象 //static静态,保障单例类对象的唯一性 private static Singleton _instance = null; //确保这个类的对象不能在其他类中实例出对象 private Singlet

2021-11-10 16:57:35 956

原创 抽象函数和虚函数的区别

抽象函数和虚函数的区别 1.抽象方法是只有方法名称,没有方法体,即没有方法的具体实现,子类必须重写父类抽象方法才能实现具体功能;虚函数有方法名称也有方法体,但是子类可以覆盖,也可不覆盖。 2.抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。 3.抽象方法只能在抽象类中声明,虚方法不是。 4.派生类必须重写抽象类中的抽象方法,虚方法则不必要。 ...

2021-11-10 16:52:45 1942

原创 大数相加(c#)

大数相加 stringBuild : String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。

2021-11-10 16:22:47 486

原创 抽象类(c#)

抽象类 是什么? 用abstract关键字修饰的类,称为抽象 抽象类中可以有抽象的行为(抽象函数) 干什么? 代码的侵入性 特点 1、抽象类用来强制要求派生类中必须实现抽象类中的抽象成员 2、抽象类最合适用来当基类 3、抽象类没有具体实例 4、子类如果实现父类的抽象方法,则需要使用override关键字修饰 抽象类和接口的区别: 1、可以包含的成员不同,接口只能包含:函数的声明,属性声明,索引器声明,事件声明 但是抽象类,除了可以包含接口中所有成员外,可以包含正常类的可以有的所有东西 2、接口

2021-11-10 15:28:35 460

原创 get和set属性访问器(c#)

get和set访问器 get和set访问器实际上是在编译的过程中将自己转化为一个函数 set访问器中的value是set访问器在编译过程中变成的函数的参数 如果只有get访问器,称这个属性是只读属性,相反如果只有set访问器成这个属性为只写属性 数据只会存储在变量中属性是不存任何数据类型的 (alt + shift) public int Age { //get访问器: 获取变量 get {

2021-11-10 15:24:32 2110

原创 单向链表(c#)

链表 IMyLink 先定义一个接口,主要包含规定相关的增删改查的方法、索引器,count属性访问器 namespace 链表 { interface IMyLink<T> { //接口的作用 //1、为后面要写的内容提供一个强制的模板,规范代码 //2、作为一个提纲的作用,为后面要写的内容提供思路 //3、提高写代码的效率 //增 void Add(T t);

2021-11-10 14:58:37 680

原创 c#List容器的封装(数组封装)

list容器 list容器和数组的区别 数组 1、数组的长度固定,存满后不能再添加新的元素 2、数组无法得知当前已经存了几个元素,还剩多少空间 3、数组是一段连续的存储空间,确定后无法修改地址 list容器 1、长度不固定,可以无限制添加新的元素 2、list容器可以得知当前已经存了多少个元素 3、list可以是不连续的存储空间 IMList namespace List容器 { interface IMyList<T> { //接口的作用 /

2021-11-10 11:19:15 1875

原创 数据类型及转换(c#)

数据类型 8个整型 + 3浮点型 11个值类型 bool类型只能是true 或 false 判断条件只能用true或false条件判断 sizeof()` 获取数据类型长度 //根据byte类型,在内存中开辟一段1个字节的内存空间,将这段空间命名为byteValue,并 将2转换为2进制数据,对这段内存空间进行填充 //byte:一个字节, 无符号(取值从零开始,不能是负数) 0-255 byte byteValue = 2;

2021-11-08 22:25:28 1022

原创 DoTween插件的使用(unity3d)

DoTween插件的使用: 用于做物体的缓动动画:(脚本控制) 要用dotween插件,首先要引用DG.Tweening引用空间 using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; public class DoTweenTest : MonoBehaviour { // Start is called before the first frame upd

2021-11-06 17:03:26 3519

原创 简单镜头跟随(unity3d)

镜头跟随 第一种:简单的跟随 固定位置,跟参考对象保持一个固定的位置,跟随参考的对象移动 using UnityEngine; using System.Collections; public class CameraFlow : MonoBehaviour { public Transform target; private Vector3 offset; void Start() { //设置相对偏移 offset = target.pos

2021-11-06 16:58:12 498

原创 计时器(unity3d)

计时器 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Schedule : MonoBehaviour { public float time; float deltaTime; float targetTime; // Start is called before the first frame update voi

2021-11-06 16:56:32 1195

原创 关于屏幕分辨率的适配

分辨率的适配 1.首先是根据调解锚点和中心点确定ui的位置 Anchors:锚点的位置,原点的位置在父节点 快捷键: alt 设置锚点的位置 shift 设置中心点的位置 alt + shift 同时设置锚点和中心点的位置 2.设置canvas 主要设置的是Canvas Scaler中的UI Scale Mode 包含三个: Constant Pixel Size 不变的像素大小,ui的像素大小不变 Constant PhySical Size 不变的物理大小,例如长宽高 Scale Width

2021-11-06 16:54:35 427

原创 动态资源加载工具类

动态资源加载工具类 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ResoucesManager { private static Dictionary<string, GameObject> resDic = new Dictionary<string, GameObject>(); /// <summary>

2021-11-06 16:41:42 154

原创 场景的加载(异步加载)

场景的加载(异步加载) 关于AsyncOperation: AsyncOperation的progress(0-1)属性在isDone为false时,最大加载到0.9就会暂停,直到isDone为true时才会继续加载0.9-1.0的这10%,而isDone为true或fasle的标志为是: 当allowSceneActivation = false,isDone为false ,allowSceneActivation = false 的作用是让场景不会在加载完成后自动跳转到下一个场景, 当all

2021-11-06 16:39:09 543

原创 动态链接库Dll

动态链接库 DLL(c#) 首先了解下dll是什么?(来自百度百科) .dll,动态链接库英文为DLL,是**Dynamic Link Library**的缩写。DLL是一个包含可由多个程序,同时使用的代码和数据的库。 作用: 封装,通用,共享 。 模块化,只需提供接口,不用关心内部实现,可以实现代码复用 。 如果是通用的函数库,做成DLL是最好的了。这样维护也方便。 可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分 。 优点: 使用较少的资源,当多个程序使用同一个函数库时,DLL 可

2021-11-06 16:35:07 1403

原创 自动寻路(unity3d)

自动寻路 自动寻路的地图的渲染,根据的是物体的Mesh Renderer组件,根据物体的大小 第一步:勾选Navigation Static 第二步:打开自动控制面板 第三步:移动的物体添加Nav Mesh Agent组件 第四步:编写移动脚本 public class NavMove : MonoBehaviour { NavMeshAgent agent; // Start is called before the first frame update void St

2021-11-06 16:26:31 1415

原创 视频播放(unity)

视频播放 在3d物体上,添加void Player组件 在2D上,添加一个row Image,在资源中创建一个Render Texture,然后拖入组件中 视频的传入的方式,有两种,一种是直接拖拽一个视频Video Clip上去,另外就是通过URL地址 ...

2021-11-06 16:14:08 130

原创 射线(unity3d)

射线 射线分为几种: 1.从屏幕发出 2.从起点发射到终点 public class RayTest : MonoBehaviour { //public Camera camera; // Start is called before the first frame updat void Start() { } // Update is called once per frame void Update() {

2021-11-05 14:59:59 319

原创 窗口的拖移的实现(unity3d)

窗口的拖移的实现 代码: 要使用事件,需要先引用UnityEngine.EventSystems 命名空间,并实现对应的接口(关于对应的接口会单独发文介绍),这里用到的是拖拽(IDragHandler),开始拖拽(IBeginDragHandler),结束拖拽(IEndDragHandler) using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using

2021-10-28 09:43:36 1265

原创 unity3D数据的本地存储(xml的方式)

数据本地的存储 第一种方式:unity自带的存储方式 PlayerPrefs.SetInt("num",num); //setFloat setString PlayerPrefs.GetInt("num",0); //getFloat getString 缺点:存储的数据过多时,不方便 第二种方式: 常见的配置文件:``jsonxmlcsv` unity一般使用的xml 下面是xml方式如何实现 1.首先如果需要使用xml文件,必须要引用 System.Xml命名空间 2.主要的功能就是实现对xml文件

2021-10-12 20:18:12 3898

原创 unity学习笔记(持续更新)

unity学习笔记(持续更新) 1.点哪指向哪 if (Input.GetMouseButtonDown(0)) { //相机向指定的物体发出射线,并返回 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //射线可以跟collider组件的物体发生碰撞 RaycastHit hit;//碰撞的信息

2021-10-12 09:49:51 692

原创 路点寻路(unity3D)

路点寻路 第一步:现在场景上确认几个定点,并用Gizmos画出路线 首先在场景中确定几个空节点,放在一个父节点下面 将脚本绑在该父节点上 画出来的效果: public class WayPoint : MonoBehaviour { //用一个数组对点进行存储 Transform[] points; public Transform[] Points { get { if(points == null)

2021-10-07 09:49:52 2398

空空如也

空空如也

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

TA关注的人

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