游戏编程复习大纲

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、面向对象的四大特征:抽象、封装、继承、多态。

2、C++全局函数重载的语法特点:(重载是什么?)函数声明的参数列表不同。

3、Int function (int,int)是函数原型,那么怎么样定义函数指针:int(*f)(int x, int y)

4、常用的数据结构有哪些:(3个)堆栈、队列、堆

5、在游戏开发中,都有哪些分工:(3种)美术、程序、策划。

6、在C++种将一个概念封装成类,类的数据成员的类型都是确定的,那么有一种高级的抽

象叫做什么:模板。

7、在编译中,C++代码如果出现无法解析的外部符号说明:已声明未定义

8、C++中虚函数的关键字是:virtual

9、一个子类继承了带有纯虚函数的父类,怎样才能被实例化:实现父类中的所有虚函数

10、Windows程序驱动的机制是:消息机制

11、Windows编程中的窗口句柄:HWND

12、什么代表现实的屏幕:HDC

13、用某种变量代表某种资源:句柄

14、Windows中获取现实设备的函数是getDC(),释放资源的函数是:ReleaseDC()。

15、在Windows中,只有一个地方的消息机制会被执行一次:WM_CREATE:

16、Windows中用什么机制来消除闪烁:双缓冲。

17、在游戏程序中,要把绘制和逻辑分开写,以免造成代码混乱。

18、响应键盘按下的消息是:WM_KEYDOWN,鼠标移动的消息是:WM_MOUSEMOVE

19、实现镂空的方法是:TransparentBLT()

20、需要链接的库函数:msimg32

21、场景调度分为:角色调度、场景调度、镜头调度

22、从三维动画工程角度看,角色的设定要考虑:造型和工程难度

23、运动的规律分为:起始、预备、过级、复位

24、基本的三维除了前期:模型制作、材质贴图、绑定蒙皮、动画渲染、后期合成(题

目不清楚)

25、影视语言中的运动分为:画面内部运动、画面外部运动。

26、影视语言中的声音主要有:音乐、音效、对白。

简答题:

1、广角镜头的特点是什么?

a)拍摄范围广

b)透视角度大

c)画面易于变形

d)适合表现大场面,小环境拍摄和处理特殊的艺术效果

摄像机的运动方式有哪些?

推、拉、摇、移、跟、甩、综合运动镜头

2、谈谈对轴线的认识:

轴线是指根据物体的运动方向或朝向假定的一条虚线;在拍摄当中应该在轴线一侧180度安排机位;如果摄像机超过这范围就叫做越轴;为了合理的越轴,主要有以下几种处理方式:1、空镜头2、齐轴镜头3、跟随运动镜头4、主观视角镜头5、特写镜头

有时候根据影片的具体情节,艺术效果的需求,也可以有意越轴。

3、解释缩略词:

SDK:(Software Development Kit)软件开发工具包

MSDN:(Microsoft Developer Network)

GDI:(Graphic Device Interface)图形装置界面

STL:(Standard Template Library)标准模板库

4、简要描述一个游戏引擎在游戏开发中的作用。

游戏引擎指挥控制着游戏中各种资源,包含:渲染器、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。游戏引擎提供了以上种种功能的实现,并把底层的细节封装,提供给用户接口,提供开发工具,它大大提高开发速度,降低开发难度,让用户可以直接使用已经实现过的功能,不必再做别的程序员做过的事情,帮助用户实现一些很难的效果,是游戏开发的必然趋势。

5、是否存在指针的引用,是否存在指向引用的指针?为什么?

不存在指向引用的指针,引用是对象的一个别名,引用不被分配存储空间,而指针是指向一个内存地址的,所以没有能指向引用的指针

指针的引用指针的引用是利用指针变量,提供对变量的一种间接访问形式。对指针变量的引用形式为:

*指针变量

其含义是指针变量所指向的值。

6、PC游戏的开发为什么首选C++,而非C#或Java

C++是一种高级语言同时也是一种编译性语言,他具有高级语言的特性,同时也具有低级语言的特性,可以直接操作硬件,效率很高。而像C#或Java这些解释性语言必然会有一个虚拟机,降低了效率;

pc游戏它通常会有非常巨大的绘制图形,玩家频繁的输入操作,在输入输出的时候对响应速度要求非常高,并且网络通信的负荷大,要求通信量大,速度快。所以PC游戏的开发首选C++,而非C#或Java。

7、如何检查单向链表是否存在封闭环?

方法思想:例如两个人在环状操场赛跑,一名快者,一名慢者,一直跑下去,总有一个时刻,两人会相遇。但是如果赛跑场地是一条无限延伸的直路,则快者将一直领先,不会与慢者相遇。

例如检查下面链表是否存在封闭环:

检测方法如下:

定义两个指针P1(每次移动一格):1,2,3,4,5

P2(每次移动两个格):1,3,5,3,5 此时相遇,则证明该单向链表存在封闭环。

相关文档
最新文档