2017年7月19日

【Unity3D与23种设计模式】策略模式(Strategy)

摘要: GoF中定义: “定义一组算法,并封装每个算法,让它们之间可以彼此交换使用。 策略模式让这些算法在客户端使用它们时能更加独立。” 游戏开发过程中 不同的角色会有不同的属性计算方法 初级解决方法便是:if else,不够再来几个if else 高级点儿的就用switch case配合enum 对于小型 阅读全文

posted @ 2017-07-19 17:11 Lumious 阅读(308) 评论(0) 推荐(0) 编辑

【Unity3D与23种设计模式】桥接模式(Bridge)

摘要: GoF定义:“将抽象与实现分离,使二者可以独立的变化”游戏中,经常有这么一种情况基类角色类(ICharacter),下面有子类士兵类(ISoldier)、敌军类(IEnemy)基类武器类(IWeapon),下面有子类枪类(IGun)、炮类(ICannon)当然,有用枪的士兵,有用炮的士兵这么一组合,就是2*2 = 4个类游戏后期,当角色类添加一个角色类时,变成了2*3 = 6个类若再添加一个武器类... 阅读全文

posted @ 2017-07-19 15:02 Lumious 阅读(810) 评论(0) 推荐(0) 编辑

2017年7月18日

【Unity3D与23种设计模式】游戏的主循环——Game Loop

摘要: 游戏与其他软件最大的不同 就是游戏有Update逻辑 一般的软件是由“事件”驱动 因为它不会突然跑出来一只“兔子” 因此,只有游戏才有“帧”的概念 (没秒多少帧,就是没秒Update执行多少次) Unity有自己的生命周期 Awake,Start,Update… 只要继承MonoBehaviour就 阅读全文

posted @ 2017-07-18 15:10 Lumious 阅读(1001) 评论(0) 推荐(0) 编辑

【Unity3D与23种设计模式】中介者模式(Mediator)

摘要: GoF中定义: 定义一个接口来封装一群对象的互动行为 中介者通过移除对象之间的引用 以减少他们之间的耦合度 并且能改变它们之间的互动独立性 游戏做的越大,系统划分的也就越多 如事件系统,关卡系统,信息系统,界面系统等。 系统切分越细,就意味着系统之间的沟通越复杂 单一系统引入太多其他系统的功能,不利 阅读全文

posted @ 2017-07-18 11:24 Lumious 阅读(869) 评论(0) 推荐(0) 编辑

2017年7月14日

【Unity3D与23种设计模式】单例模式(Singleton)

摘要: GoF中定义: “确认类只有一个对象,并提供一个全局的方法来获取这个对象” 使用单例模式的前提 它只能产生一个对象且不能够被继承 单例模式的优点: 提供方便获取唯一对象的方法 可以限制对象的产生数量 单例模式的缺点: 容易造成设计思考不周和过度使用的问题 违反了“开-闭原则”(OCP) 这两行代码就 阅读全文

posted @ 2017-07-14 15:49 Lumious 阅读(646) 评论(0) 推荐(1) 编辑

【Unity3D与23种设计模式】外观模式(Facade)(门面模式)

摘要: GoF中定义: “为子系统定义一组统一的接口,这个高级的接口会让子系统更容易被使用” 其实这个模式虽然很少听过 但我们在敲代码的时候却是经常使用 比如: 在游戏初始化时 要初始化很多东西 如果把这些需要初始化的一步一步列出 确实简单直接 但缺点也很明显:不容易移植、代码臃肿 而如果把这些所有需要初始 阅读全文

posted @ 2017-07-14 14:11 Lumious 阅读(432) 评论(0) 推荐(0) 编辑

2017年7月13日

【Unity3D与23种设计模式】状态模式(State)

摘要: 定义: “让一个对象的行为随着内部状态的改变而变化,而该对象也像是换了类一样” 应用场景: 角色AI:控制角色在不同状态下的AI行为 服务器连接状态:开始连线、连线中、断线等状态 关卡进行状态:不同关卡 Context(状态拥有者) 一个具有状态属性的类,可以制定相关的接口,让外界能够得知状态的改变 阅读全文

posted @ 2017-07-13 17:29 Lumious 阅读(612) 评论(0) 推荐(0) 编辑

2017年7月7日

UGUI 字体背景长度自适应

摘要: 本文实现以下需求: 在UGUI中 Text为动态添加 要使Text字体背景随着Text的长度而变化 之前还在赞叹UGUI的强大 转念一想,UGUI中好像没有可以实现此功能的组件 也想出了一种办法 把背景作为字体的子物体 不过后来想了想 由于UGUI的渲染顺序 字体背景就会遮住字体 故此想法是否定的 阅读全文

posted @ 2017-07-07 17:42 Lumious 阅读(1808) 评论(0) 推荐(0) 编辑

2017年7月6日

粘包分包现象及处理

摘要: 现象描述由于TCP协议本身的机制客户端与服务器会维持一个连接发送数据粘包原因如果发送的网络数据包太小,TCP则会合并较小的数据包再发送,接收端便无法区分哪些数据是发送端自己分开的,因此便会产生粘包现象。或者,接收端把数据放到接收缓冲区中,如果数据没有及时从缓冲区取走,下次取数据时就可能出现一次取走多个数据包的情况。如:客户端Send:hello客户端Send:unity服务端Recv:Recv分包... 阅读全文

posted @ 2017-07-06 17:33 Lumious 阅读(613) 评论(0) 推荐(0) 编辑

2017年7月5日

防止SQL注入

摘要: 所谓sql注入就是通过输入请求,把sql命令插入到sql语句中以达到欺骗服务器执行而已sql命令的目的如使用string sql = “Select * from player where id =” + id;此时可以正常完成数据的读取工作如果使用“xiaoming;delete * from player;”的名字此语句则变成两条语句Select * from player where id ... 阅读全文

posted @ 2017-07-05 17:19 Lumious 阅读(164) 评论(0) 推荐(0) 编辑

导航