自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unity Physics.xxxCast射线检测结果有错误

在project setting中有个Auto Sync Transform选项,在2018.2以前的版本里是默认为true的,在之后版本默认为false。如果禁用AutoSyncTransforms,移动碰撞体,然后调用光线投射,使光线的方向为碰撞体新位置的话,光线投射可能不会击中碰撞体。这是因为光线投射会作用于物理场景的上一次更新版本,而那时物理场景还没有使用碰撞体的新位置来更新。所以射线的检测会出现一些问题,为避免可以勾选上,虽然会对性能有些影响,但总比出bug要好。。。...

2020-12-03 14:36:49 530

原创 www获取网络资源

public string url = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2622066562,1466948874&fm=27&gp=0.jpg";IEnumerator Start() { WWW www = new WWW(url); yield return www; }官网教程

2020-11-19 11:58:37 1040

原创 属性的set和get

public int Age { set { //通过set方法 在设置值之前做一些校验的工作 属性的更多好处,需要在写代码过程 中体会 if (value >= 0) {age = value; }} }public float X// 也可以叫做get set方法 { get { return x; } set { x = value; }//如果在get 或者 set前面加上 private,表示这个块只能在类内部调用 }..

2020-11-19 11:58:27 287

原创 虚方法和隐藏方法

使用virtual来定义一个虚方法,在子类中进行重写操作。这样做可以在需求变动或者需要实现同一个方法的多种实现方式时只新建一个子类然后进行重写操作,不用完全复制父类,防止其他方法可能导致出现错误。隐藏方法:当子类里面有一个签名和父类相同的方法的时候,就会把父类中的方法隐藏重写 : 原来的方法不存在了隐藏: 只是把父类中的方法隐藏了,看不到了,实际这个方法还存在, 如果使用子类声明的对象,调用隐藏方法会调用子类的,如果使用父类声明对象,那么就会调用父类中的隐藏方法...

2020-11-19 11:58:17 280

原创 父类和子类在声明上的不同

Enemy enemy = new Boss();//父类声明的对象,可以使用子类去构造 子类声明的对象不可以使用父类构造enemy虽然使用父类进行了声明,但是使用了子类构造,所以本质上是一个子类类型的,我们可以强制类型转换转换成子类类型一个对象是什么类型的 主要看它是通过什么构造的 这里enemy使用了父类的构造函数,所以只有父类中的字段和方法, 不能被强制转换成子类可以通过抽象类去声明对象 但是不可以去构造...

2020-11-19 11:58:08 182

原创 this和base

this可以访问当前类中定义的字段,属性和方法,有没有this都可以访问,有this可以让IDE-VS编译器给出提示,另外当方法的参数跟字段重名的时候,使用this可以表明访问的是类中的字段,base可以调用父类中的公有方法和字段,有没有base都可以访问,但是加上base.IED工具会给出提示,把所有可以调用的字段和方法罗列出来方便选择...

2020-11-19 11:57:51 303

原创 委托的使用方法及其意义

委托可以当作是一个类型,这个类型可以赋值一个方法的引用。使用delegate声明一个委托private delegate string GetAString();static void Main(){int x = 40;GetAString firstStringMethod = new GetAString(x.ToString);Console.WriteLine(firstStringMethod());//调用委托}...

2020-11-19 11:57:37 324

原创 射线检测详解

Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);//发出射线获取鼠标点击的位置RaycastHit hit;//声明一个RaycastHit类型的变量用来存储碰到的信息Physics.Raycast(ray, out hit);//获取射线碰到的物体的碰撞信息Physics.Raycast(ray, Mathf.Infinity, LayerMask.GetMask("Enemy1", "Enemy2", "UI"));//第一个参

2020-11-17 10:59:17 297

原创 Quaternion.LookRotation()的用法,使物体朝向改变

Quaternion.LookRotation();传入一个向量值使物体朝向向量方向,使物体朝向另一个物体只需要传入两个物体Position之间的Vector3差值即可

2020-11-17 10:57:19 2578

原创 Unity3d随机数生成

random在生成随机数的时候是根据初始的时候随机数生成器生成的随机数序列进行生成的,默认情况下这个随机数序列是根据一个默认的种子进行生成的,每次生成的时候这个默认种子会发生改变,所以每次程序运行时生成的随机数是不同的,看上去就是生成了随机数。但是当指定随机数种子的时候,每次运行程序生成的随机数都会是相同的,这样生成的随机数不是真正的随机生成。可以使用random.Initstate((int)System.DateTime.Now.Ticks);来设置一个跟随系统时间变化的种子初始化随机数生成器,使初始的

2020-11-17 10:55:55 924

原创 unity3d获取特定脚本组件的方法,也可通过这几个方法获取挂载特定脚本组件的物体

//括号内为false不获取隐藏物体,为true获取隐藏物体,默认值为falseGetComponentInChildren<Cube>();//获取当前物体以及他所有已激活的子物体的特定脚本中的第一个脚本,返回一个cube类型GetComponentInParent<Cube>();//获取当前物体以及他所有已激活的父物体的特定脚本中的第一个脚本,返回一个cube类型GetComponentsInChildren<Cube>();//获取当前物体以及他所有已激活的

2020-11-17 10:41:04 1759

原创 unity3d 脚本之间传递消息的几种方式

gameobject.broadcastmessage();//向当前游戏物体以及他所有已激活的子物体上的所有脚本广播消息 游戏物体之间耦合性低,游戏的拓展性较好。gameobject.BroadcastMessage("Attack", null, SendMessageOptions.DontRequireReceiver);gameobject.sendmessage();//向当前游戏物体的所有脚本发送消息gameobject.SendMessage("Attack", null, SendM

2020-11-17 10:35:39 841

原创 unity创建物体的三种方法

创建物体的三种方法第一种创建方法GameObject go = new GameObject("Cube");//括号里是物体的名字第二种 GameObject.Instantiate(prefab);//可以根据prefab 或者 另外一个游戏物体克隆第三种 创建原始的几何体 GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);//括号里是物体的类型 go.AddComponent<Rigidbod

2020-11-17 10:32:55 1072

原创 time.timeScale

time.timeScale默认为1 改变timeScale的值,可以使time.deltatime按timeScale的值来倍数改变。经常使用time.timeScale=0来进行暂停(前提是场景中所有物体的运动都使用了time.deltatime)

2020-11-17 10:24:08 78

原创 unity3d 入门一图

摘自siki学院视频教程

2020-11-17 10:22:54 70

原创 检测代码占用性能

debug输出执行for循环占用的时间,可以用来检测代码占用多少性能。

2020-11-17 10:21:21 64

原创 Dictionary中按照下标取key

今天遇到一个问题,需要在Dictionary的固定下标位置取key和value,通过下面一段代码可以取到下标为i的元素的key,然后再通过key取value值Dictionary<string, string> dic = new Dictionary<string, string>();string[] keys = new string[dic.Count];dic.Keys.CopyTo(keys,0);string key=keys[i];...

2020-11-17 10:18:23 1029

unity-ugui-XCharts-master.zip

unity图表制作的插件,支持使用json数据,各种常见图表都能找到,包里包含详细API说明文档等文件,仅供学习使用,禁止商用。

2020-09-10

空空如也

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

TA关注的人

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