- 博客(32)
- 收藏
- 关注
转载 List Sort排序
https://blog.youkuaiyun.com/zhulongxi/article/details/51457891?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-7&utm_source=distribute.pc_relevant.none-task-blog-BlogCommen...
2020-04-14 17:15:38
255
原创 排序算法
冒泡排序时间复杂度:o(n2)空间复杂度: O(1)稳定性:稳定 /// <summary> /// 冒泡排序 思想 两两对比 /// </summary> public void BubbleSort() { for(int i=0; i<list.Count; i++) { ...
2020-04-07 20:44:24
164
原创 粒子特效在Scrollview中裁剪
using System.Collections;using System.Collections.Generic;using UnityEngine;public class EffectClip : MonoBehaviour{ [SerializeField] RectTransform m_rectTrans;//遮挡容器,即ScrollView List&...
2020-04-03 14:33:44
656
原创 u3d精灵帧动画制作
精灵动画制作精灵动画需要准备多张连续播放的精灵帧或者精灵表。如果使用精灵表需要进行切割,这里以使用多张独立精灵帧图为例制作精灵动画准备多张精灵帧制作精灵帧动画Animation...
2020-03-21 20:41:30
467
原创 对c#中await和async的理解和使用方法
await和async的使用可以使c#异步编程变得更加方便容易传统的异步编程是通过创建一个线程执行一个任务并传入一个回调函数,当任务执行结束后自动调用这个回调函数来实现异步编程示例代码如下 static void Main(string[] args) { Console.WriteLine($"线程1:{Thread.Curr...
2020-03-05 17:14:55
693
原创 四、u3d内存优化
u3d内存分类1、托管堆占用内存 托管堆占用的内存是由Mono分配和管理的,mono占用的内存是只增不减的,运行时一旦发现内存不够,mono会进行gc,如果还是不够,曾会向系统申请内存。但是用过之后,不用了的内存并不会再然后给系统1、这里一般检查代码问题,检查内存泄漏 ,比如不用的对象及时destory或者设置为null,使其被及时GC掉,回收内存,2、另一个就是不要在update中ne...
2020-01-14 13:55:46
297
原创 三、u3d资源打包
AssetBundle assetbundle就是一种压缩包,可以将u3d项目中所用到的贴图模型声音视频等等资源打成ab包。这样在项目打安卓包 的时候就可以不将这些资源打进安卓包,在程序启动后从服务器上下载这些打好的ab包资源,从而可以减少安卓包本身 的包体大小,动态下载资源。而且可以通过资源检查方式实现资源热更新,不用强更。在u3d中首先将资源命名,如图打包代码:BuildPip...
2020-01-14 10:31:43
942
原创 u3d单点和多点触摸
平台判断 if (Application.platform == RuntimePlatform.WindowsEditor) { // windows } else if(Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) {...
2020-01-08 13:20:33
262
原创 一、对c#内存的理解
一、c#内存 每个程序运行起来,都需要一个单独的进程,每个进程都会申请一块单独的内存空间用于程序的运行和计算使用。在C# 中这块内存可以分为以下几个内存区域。二、c#内存分类1、栈区 栈区空间由编译器管理,在代码编译时就分类了空间,存放函数的参数值、局部变量等,其中值类型的变量直接存储在 栈 中,引用类型变量将地址存储在栈区,地址所指向的真正的对象存储在堆区,栈的操作方式和数...
2020-01-07 11:04:10
689
原创 二、u3d中的多线程和协程
协程不是多线程,协程还是运行在主线程中,在u3d中非主线程不可以访问u3d的资源多线程一个u3d程序中有一个进程,进程中包含一个主线程以及可能存在的多个辅线程。进程之间的堆和栈是不共享的,每个进程有自己独立的内存空间,进程的调度是操作系统级的。主线程也是操作系统级的,由操作系统调配,在每个进程的主线程中,程序员可以手动创建多个辅助线程,这些线程之间不共享栈,共享堆。这些线程由创建者自己维护运行...
2020-01-06 14:25:07
460
原创 一u3d物体运动方式总结
运动本质u3d中物体运动的本质都是改变物体的positionTransform.Translate使物体在当前坐标下移动一段距离,可以设置根据本地坐标系还是世界坐标系horseGameObject.transform.Translate(Vector3.forward * horseMoveSpeed * Time.deltaTime);设置position简单粗暴直接修改物...
2020-01-03 14:35:40
612
原创 u3d碰撞器和触发器
碰撞器造成物理碰撞,执行碰撞方法1、碰撞的双方必须都具有碰撞器Collider2、至少运动的一方必须具有刚体3、双方不能勾选is trigger4、双方不可同时勾选运动学5、如果运动的一方没有刚体,当他去碰撞静止的刚体相当于没有撞到碰撞器方法1、oncolliderEnter 碰撞瞬间执行一次2、oncolliderstay 碰撞时一直触发3、oncollidere...
2020-01-03 10:35:20
498
原创 untiy3d坐标系以及向量运算
内容提要unity3d坐标系向量运算unity3d坐标系*3d坐标系分为两种,分别是左手坐标系和右手坐标系。u3d使用的是左手坐标系*。通常3d坐标系中x轴右侧代表水平正方形,y轴为垂直正方向向上,z轴分为向里和向外两种,正方向向里的是左手坐标系,向外的是右手坐标系。左手坐标系,拇指指向x正方向,食指指向y正方向,中指指向里面为z轴正方向 { try { // 开启一个serverSocket System.out...
2019-03-06 17:01:40
458
转载 Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题
Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题 https://www.cnblogs.com/huangjinwen/p/6885783.html Eclipse 通过 Maven 建立 SSM 框架项目(web项目)时,默认的web.xml文件版本为 2.3,jre版本为 1.5;在修改其版本遇到了各种问题 例如:web.xml is missi...
2018-05-23 16:54:17
205
原创 访问者模式
定义:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。namespace Visitor{ class Program { static void Main(string[] args) { ObjectStructure o = new ObjectStru...
2018-05-08 11:24:29
115
原创 迭代器模式
定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。namespace Iterator{ class Program { static void Main(string[] args) { ConcreteAggregate a = new ConcreteAggregate(); ...
2018-05-07 10:56:50
121
原创 观察者模式
定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己 1. 客户端namespace Observer{ class Program { static void Main(string[] args) { Secret...
2018-05-07 08:49:50
117
原创 里氏替换原则
里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。 里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。 它包含以下4层含义: 1. 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。 2. 子类中可以增加自己特有的方法。 3. 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。 4. 当子...
2018-05-03 11:28:35
267
原创 抽象工厂模式
抽象工厂模式:提供一个创建一系列相关或互相依赖对象的接口,而无需制定他们具体的类。class User{ private int _id;//字段 public int Id // 属性 { set { _id = value; } get { return _id; } } private string _name...
2018-05-03 10:54:27
101
原创 工厂方法模式
定义: FactoryMethod 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。客户端 static void Main(string[] args) { IFactory operFactory = new AddFactory(); Opera...
2018-04-24 22:47:55
129
原创 简单工厂模式
// 工厂类 class Factory { public static Operation CreateOperate(string operate) { Operation oper = null; switch(operate) { ca...
2018-04-24 16:41:05
122
原创 单例模式
结构图 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Singleton { // 饿汉式实例 //类加载的时候实现实例化 public seale...
2018-04-21 23:45:41
152
原创 unity3d 的 坐标系统
一、unity3d中有四种坐标系: 1,世界坐标系worldspace 在unity的场景中有一个坐标原点(0,0,0),场景中的物体的世界坐标都是基于这个原点而来的 通过 gameObject.transform.position获得游戏对象的世界坐标 2、本地坐标系localspace 本地坐标是相对于父节点而来的 3、屏幕坐标系screenspace
2017-10-12 10:16:56
546
原创 unity3d设置材质的shader
unity3d设置材质的shaderpaticle.GetComponent<Render>().material.shader = Shader.Find("Particles/Additice");
2017-10-10 11:30:12
1204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人