29 December 2010
游戏开发学习笔记。
  1. 面向对象的四大特征:抽象、封装、继承、多态。
  2. C++全局函数重载的语法特点:(重载是什么?)函数声明的参数列表不同。
  3. Int function (int, int)是函数原型,那么怎么样定义函数指针:int(*f)(intx, 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(msimg.lib)
  21. 场景调度分为:角色调度、场景调度、镜头调度
  22. 从三维动画工程角度看,角色的设定要考虑:造型和工程难度
  23. 运动的规律分为:起始、预备、过级、复位
  24. 基本的三维除了前期:模型制作、材质贴图、绑定蒙皮、动画渲染、后期合成(题目不清楚)
  25. 影视语言中的运动分为:画面内部运动、画面外部运动。
  26. 影视语言中的声音主要有:音乐、音效、对白。

  1. 广角镜头的特点是什么?
    • 拍摄范围广
    • 透视角度大
    • 画面易于变形
    • 适合表现大场面,小环境拍摄和处理特殊的艺术效果
  2. 摄像机的运动方式有哪些?

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

  3. 谈谈对轴线的认识:

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

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

  4. 解释缩略词:

    SDK:(SoftwareDevelopment Kit)软件开发工具包 MSDN:(MicrosoftDeveloper Network) GDI:(Graphic DeviceInterface)图形装置界面 STL:(StandardTemplate Library)标准模板库

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

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

  6. 是否存在指针的引用,是否存在指向引用的指针?为什么?

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

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

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

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

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

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

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

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

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

    检测方法如下:

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

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

原文链接:动画与游戏设计基础,转载请注明来源!

EOF