Unity3d
文章平均质量分 73
l-jobs
莫道征途路漫漫,愿效江水去不还
展开
-
Unity3d在ios上发布
Unity3d要想在ios上发布,必须要有开发者账号,如果要想在app store里发布,必须要花钱,这里我只是自己调试,只做学习用。要在真机上调试,首先你必须要在mac上,用iphone连接mac,我用的unity5.5版本的,下面是我的发布过程,遇到一些麻烦,所以写下来给大家做个参考。1.用iphone连接上mac,然后要有发布ios的支持包,如果没有,要重新下载并安装,我一开始安原创 2017-01-24 14:59:27 · 2580 阅读 · 0 评论 -
中介者模式
顾名思义,当多个对象需要互相调用对方的时候,我们可以使用一个中介对象来封装这种行为。比如班上的同学要问对方要qq号,如果是两两问对方要,就是这种网状结构。我们建一个qq群,同学想要别人的qq号只要在群里找就好了,这就是中介者模式。中介者模式的好处(也可能是坏处):当我们想要改变各对象交互方式的时候,更改中介类就好了,这样降低了耦合性,使代码结构更清晰,但是一旦中介类更改原创 2017-04-05 10:39:59 · 421 阅读 · 0 评论 -
建造者模式
建造者模式是常用的设计模式,谈到建造自然会想到楼房。楼房是千差万别的,楼房的外形、层数、内部房间的数量、房间的装饰等等都不一样,但是对于建造者来说,抽象出来的建筑流程是确定的,往往建筑一座楼房包括下面的步骤:(1)打桩,建立基础(2)建立框架等。建造者模式的本质和建造楼房是一致的:即流程不变,但每个流程实现的具体细节则是经常变化的。建造者模式的好处就是保证了流程不会变化,流程既不会增加、也不会原创 2017-04-04 23:00:55 · 408 阅读 · 0 评论 -
c#中equals和==的区别
先说结论:equal对于非匿名对象来说,比较的是对象是否指向同一个引用,而对于匿名对象来说,比较的是对象的内容是否一样。==比较的是栈里面对象指向的地址对于值类型,二者没有区别对于string类型,因为c#会把所有指向相同内容的字符串指向同一个地址的字符串,所以string虽然是引用类型,但是二者没有区别。二者都有可能被重写。/*string比较实例,以下都输出true*/原创 2017-03-26 11:16:43 · 3802 阅读 · 1 评论 -
Facade(门面、外观)模式
Facade pattern 这个名字是类比建筑学中的 facade 而来的。 一个 facade 就是一个对象,这个对象对一大块代码(例如一个类库)进行了封装,提供了一个简化的接口。facade 的优点:由于 facade 为常用的任务提供了更方便的方法,所以让类库更容易使用、理解和测试;同样地,由于 facade 为常用的任务提供了更方便的方法,所以让类库的可读性更好。由于外部代码原创 2017-03-30 19:41:07 · 733 阅读 · 0 评论 -
单例模式
在unity中,我们分两种单例,一种是继承monobehavior的单例,一种是普通单例。1.MonoBehavior单例其实在unity中,如果脚本是继承monobehavior,因为monobehavior本身是单例,不会出现再被别人new的情况。我们只需要在Awake()里面,添加一句instance = this;using UnityEngine;u原创 2017-03-30 14:54:45 · 457 阅读 · 0 评论 -
观察者模式和代理模式
观察者模式:using UnityEngine;using System.Collections;//观察者模式,不断询问程序是否完成了任务//比如这里我们想要在动画播放1.5秒后发出一个粒子特效,我们在播放动画后就在Update函数中//不断询问是否到了1.5秒public class TestObeserve : MonoBehaviour { public Animati原创 2017-03-30 14:07:46 · 1748 阅读 · 0 评论 -
状态模式
当一个对象的行为取决于具体的状态时,往往在代码实现中还包括大量的条件分支语句,这时候根据面向对象原则,我们应该封装状态,也就是状态模式。优势和缺陷:状态模式的好处是可以让我们任意的增加状态而不用修改其他代码,使得代码逻辑比较清晰,坏处和很多设计模式一样,会增加类的个数,如果使用不当会使项目的结构变得复杂,所以要明确需求和需求的可能性变化,适当使用。一个通用的例子:借用网上别人的代码原创 2017-04-07 16:51:24 · 362 阅读 · 0 评论 -
工厂模式
工厂模式:实现过程:所有的对象都由一个工厂类(方法)去new,我们给这个这个工厂类(方法)传递一个参数,工厂类(方法)返回一个我们想要的对象。 好处:对象的创建和管理有一条通用的规则:对象要么构造和管理其他对象,要么使用对象,这两种职责应该分开,这样符合低耦合的原则。也就是说,当我们创造对象的方法变了,只需要修改工厂类(方法),而不需要修改调用工厂的类。举例:一个通用的例子:原创 2017-03-22 11:43:48 · 356 阅读 · 0 评论 -
策略模式
当我们要实现相同的功能,但是对于不同的对象,这个功能实现起来的算法不一样的时候,我们可能想到switch case语句,在面向对象中,swtich case语句往往意味着多态的可能性,我们可以将不同算法封装起来,然后用一个抽象基类作为他们的类型,这个抽象基类就是一个策略类,我们用一个策略工厂类(方法)调用我们的算法类,我们只需要传入不同的参数给它,它就能够返回给我们不同的运算。例子:我们现原创 2017-03-27 16:42:18 · 342 阅读 · 0 评论 -
Awake函数和Start函数的区别
先说结论: 调用顺序:Awake在脚本实例被创建的时候(无论脚本组件是否被激活),在所有游戏对象被初始化之后执行。Start在脚本的Enable属性被开启之后,在所有的Awake函数被调用之后,在update之前调用。一般在Awake函数中对创建的变量初始化,在Start函数中对变量进行赋值。下面放例子说明:当我们把maintest脚本组件禁用掉之后,如果在Awake函数原创 2017-03-20 14:39:45 · 1576 阅读 · 0 评论 -
Unity自定义创建脚本模板菜单
unity中我们可以在Project面板右键或通过Assets菜单创建脚本或是shader,unity为我们提供了C#,javascript脚本以及四个shader代码的模板,当创建这些脚本时实际上是复制这些模板并改变其类名或是shader名,我们可以在Unity的安装目录下找到这些代码模板文件:D:\Program Files\Unity\Editor\Data\Resources\Script原创 2017-05-05 23:09:19 · 3447 阅读 · 1 评论