- 博客(54)
- 资源 (5)
- 收藏
- 关注
原创 设计模式——外观(Unity3D中的使用)
外观:向导 1.系统与系统间的交互,系统的代表 2.解决层次的依赖关系例如: 技能系统,任务系统,各个系统提供一个向导对外访问,简化调用流程。
2016-08-15 23:49:06
398
原创 设计模式——桥接(Unity3d中应用)
桥接: 连接两端的变化 1.主体自身有变化(会有派生) 主体关联部分的抽象 主体与部分是桥接 2.部分也有变化(会有派生) 3. 解决主体的派生类与部分的派生类的关系 主体与部分的抽象层建立桥接关系 4.解决排列组合 5.如果主体自身无派生,就变为策略模式游戏中中: 技能释放器 与 攻击选择器、对自身影响效果、对敌人影响效果
2016-08-15 23:47:33
690
原创 设计模式——装饰者(Unity3D中的应用)
装饰者:包装 为某些对象动态附加功能 使用派生可以扩展一个类的行为,但是无法单独扩展某个或者某些对象的行为,在类的设计上采用装饰者模式可以实现对某个对象扩展功能。比如:在ARPG中,武器和装饰物就采用该模式扩展了武器的行为,比如剑上镶嵌一颗宝石使得宝剑在基础攻击功能上增加使敌人产生眩晕效果,你可能会想只要在剑的类中添加一个眩晕方法不就行了吗,但是这样做后,所有
2016-08-15 23:38:03
1688
原创 设计模式——建造者Build(Unity3D中应用)
Build(建造者模式) 构建与表示分离 与工厂模式不同的是:工厂注重在于创建,Builder注重在于构建(创建细节)
2016-08-14 16:26:23
722
原创 设计模式——工厂(Unity3D中的应用)
客户端简化对象的创建过程 创建与表示分离静态(简单)工厂(Switch...case变庞大) 改进:(通过反射解决Switch惊悚现身)工厂方法 (多选一)(工厂实现类增多,平行继承体系)(废弃) 抽象工厂(多选多 成系列创建)(平行继承体系) 改进:(简单工厂方式实现抽象抽象工场思维,利用反射) 配置注入 设置注入 构造注入
2016-08-14 09:32:07
2617
原创 设计模式——单例(Unity3D中的应用)
问题:希望一个类型创建一个对象且全局共享(静态公开)(创建一次,多次使用) 控制类型创建对象的数量 解决方案:效果:{ 静态类和单例差别: 静态类: 1.常驻内存利用空间换时间,快(不需要频繁 开辟空间,装载数据),频繁使用 字段代表对象的状态,对象的不同是字段不同,而方法单独存放一份 2.生命周期由系统控制 3.约束类中成员都为静态
2016-08-14 09:26:29
828
原创 Unity3D中射线的相关使用
①利用射线和自动寻路实现在小地图中点击场景中物体实现目标移动 代码:public class MapCameraRayTest : MonoBehaviour { [SerializeField] private Camera mapCamera; private RaycastHit hit; private NavMeshAgent agent; pri
2016-07-11 23:05:13
550
原创 在U3D中查找物体和组件的方式
一、找物体: ①GameObject: a.Find(string name)通过物体的名字查找 b.FindWithTag(string tag);通过标签获取添加该标签的一个物体 c.FindObjectOfType();依据组件类型 d.FindGameObjectsWithTag(string tag)通过标签获取所有添加该标签的物体数组 ②Tra
2016-06-28 22:32:15
2146
原创 Unity3D性能优化(一)
一、数学计算: 利用弧度判断范围: 向量点乘求夹角,求出弧度 float dot =Vector3.Dot(a.normalized, b.normalized); float angle = Mathf.Acos(dot) * Mathf.Rad2Deg二、降低DrawCalls:①Occlusion Culling(OC): a.定义:当物体被送进渲染流水
2016-06-28 22:17:14
905
原创 U3D自定义滑动面板ViewPager
public class ViewPager : MonoBehaviour ,IDragHandler,IEndDragHandler,IPointerDownHandler{ [SerializeField] private float dragSpeed = 10; [SerializeField] private float offetSpeed = 1;
2016-06-28 00:39:30
581
原创 U3D自定义摇杆
public class Joystick : MonoBehaviour,IDragHandler,IPointerDownHandler,IPointerUpHandler { [SerializeField] private RectTransform borderTF; [SerializeField] private RectTransform handleT
2016-06-26 23:59:20
535
原创 U3D中控制物体不离开屏幕
public class Player:MonoBehaviour { private void Start() { } private void Update() { Movement(); } private void Movement() { LimitPosition(); } priva
2016-06-23 01:12:23
677
原创 MonoBehaviour组件的生命周期
Editor: Reset;Initialization: Awake OnEnable StartPhysic: FixedUpdate OnTriggerXXX OnCollisionXXXInput events: OnMouseXXXGame logic: OnUpdate LateUpdateScene rendering: OnWillrenderObjec
2016-06-18 00:52:42
435
GPUInstance.zip
2019-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人