游戏编程模式之单例模式

“确保一个类只有一个实例,并为其提供一个全局访问入口。”(摘自《游戏编程模式》) 单例的设计对象本身就不应该拥有多个实例,或如果拥有就不能正常运行。 适合使用单例模式的例子有:文件封装类(同一个文件的读与写操作不能同时发生)、日志记录、文件加载、游戏状态存储等 单例模式提供了一个单一的实例、提...

2019-03-22 23:47:15

阅读数 68

评论数 0

四种常见游戏循环实现方式

最基本的游戏循环bool game_is_running = true; while(game_is_running){ update_game()执行; display_game(); } 问题在于上述简单循环没有时间处理部分。 关于游戏循环事件的术语: FPS:...

2019-03-22 13:36:21

阅读数 80

评论数 0

游戏编程模式之原型模式

“使用特定原型实例来创建特定种类的对象,并通过拷贝原型来创建新的对象”(摘自《游戏编程模式》) 原型:同属于某一父类的各种类 拷贝:同一种类或统一父类的子类实例的初始化可以利用统一的生成器来生成实例 实例:生成敌人 在例子中,我们需要在游戏中生成三种敌人。他们分别书幽灵、恶魔、术士。 最白...

2019-03-21 14:56:55

阅读数 72

评论数 0

游戏循环

1. 游戏循环概念 概念:整个游戏的核心流程控制。每迭代一次游戏循环称为1帧。 游戏循环(主干): 处理输入是一个广义的,而不仅仅只是人体工学输入。输入是游戏所数据的集合。 更新游戏世界:动态的主要手段,例如渲染循环*(render loop)也需要Update Date。 生成输出:...

2019-03-20 19:21:14

阅读数 81

评论数 0

游戏编程模式之观察者模式

“在对象间定义一种一对多的依赖关系,以便当某对象的状态改变时,与它存在依赖关系的所有对象都能收到通知并自动进行更新”(摘自《游戏编程模式》) MVC的底层就是观察者模式 观察者模式理解图 两者是m : n的关系。被观察者可以被多个观察监视,一个观察者可以观察多个被观察者 观察者模式的意义...

2019-03-20 10:56:14

阅读数 81

评论数 0

游戏编程模式之享元模式

“使用共享以高效地支持大量的细粒度对象”(摘自《游戏编程模式》第三章) 从这一句话可以看出,享元模式重要的目的是关于代码的高效性。而一般提升效率的本质则是减小计算量、工作量。例如: LOD:层次细节技术,它降低远处的渲染质量来减小计算机的工作量 比较的二分法:利用规律减少比较次数 理解上...

2019-03-19 13:46:15

阅读数 81

评论数 0

游戏编程模式之命令模式

命令就是一个对象化(实例化)的方法调用(摘自《游戏编程模式》) 上述引用是将命令模式概念进行精简的版本,未精简的概念为:命令模式就是"将一个请求(request)封装成一个对象,从而允许你使用不同的请求、队列或日志将客户端参数化,同时支持请求操作的撤销与恢复" 。(你大概也...

2019-03-19 13:44:19

阅读数 83

评论数 0

游戏开发中的数学基础

源自《3D游戏编程大师技巧(上册)》的总结 坐标系 表示物体的相对位置信息(相对原点),主要分为以下几种: 2D坐标系: 2D 笛卡尔坐标系。主要运用有序数对来表示点的位置信息 2D 极坐标:方向和距离来定义点 笛卡尔和极坐标之间的转换。 极坐标 to 笛卡尔 x = rcos(...

2019-03-18 15:24:05

阅读数 8674

评论数 1

C#之托管与非托管

资源:在本地化中,资源用于翻译文本和图像。在这里,资源用于另一个主题:使用托管和非托管的资源——存储在托管或本机堆中的对象。 后台内存管理 值数据类型 在任何复杂的高级语言中,编译器负责把人们可以理解的变量名转化为处理器可以理解的内存地址 在处理器的虚拟内存中,有一个区域成为栈。栈...

2018-06-02 12:31:58

阅读数 1045

评论数 0

C#学习之继承

基本概念 面向对象的三个特性:继承、封装、多态 继承 继承的类型:单重继承、多重继承、多层继承(C#不支持类的多重继承,但允接口的多重继承)、接口继承 实现继承 //类 class child : MyBaseClass class child : MyBaseClass...

2018-06-02 12:30:18

阅读数 66

评论数 0

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