游戏开发术语与常识

声明:本文是看了一篇博文后查阅资料写成,链接:http://www.cnblogs.com/neverdie/p/3799189.html

1.MVC  (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。点击打开链接

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

游戏中可以使用MVC架构来设计。

2.游戏引擎:无非就是一堆通用的代码(算法集)而已,这些代码为开发游戏提供一些通用功能,比如读写数据,渲染图像之类的,随着游戏的复杂性越来越高,游戏的共性越来越对,引擎抽象出来的东西也越来越复杂越来越庞大。
游戏引擎很大程度上影响游戏质量的好坏,会影响到"画面渲染", "物理碰撞"等等多个方面,所以,如果多款游戏采用同一款"游戏引擎",此时玩家就会感觉到他们的画面,打斗时的打击感会非常的相似。
为避免此类不好的体验,每个具体的游戏要根据自己的特点适当添加一些特性(如各种图片等),扮演的角色类似于ppt的模板。

作用:让游戏开发者更关注游戏逻辑而不是底层渲染,所以很多游戏引擎都是跨平台(手游2D和PC),对于使用来说几乎没什么区别(当然因为硬件不同会有些许不同,比如输入)。 
cocos2dx和unity3d就是典型。

3.Lua:Lua(一种脚本语言) 一般用于嵌入式应用,现在越来越多应用于游戏中。 网易游戏就是用的Lua.


4.API(Application Programming Interface,应用程序编程接口)是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配内存)的外观和行为的一套预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。
这在某种程度上很像Windows的天然代码,而其他的语言(如c,c#等)只是提供一种能自动而且更容易的访问API的方法。
VB在这方面作了很多工作,它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法。这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows。例如,Form1.Print...      VB 将会以一定的参数(你在代码中提供的,或是默认参数)调用TextOut 这个API函数。
同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体(这对于你来说是隐藏的),VB获取这个调用并经过分析后生成一个特定事件(Button_Click)。


5.API:一组其他程序员写好的程序,你只用遵循它的使用规则,就可以在你的程序中使用这些程序了。
SDK(software development toolkit):当用某种程序语言开发一个应用程序时,除了会用到那个语言所提供的API之外,还会用到如编写、编译、运行、调试等工具,而这些合起来就叫做SDK.

6.ASCII码:用七位二进制数进行编码的,可以表示128个字符。最高位用作奇偶校验。
在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。


7.消息
消息是Windows告诉你的程序发生了哪些事件或要求执行特定操作的基本方法。例如,当用户点击一个按钮,移动鼠标,或是向文本框中键入文字时,一条消息就会被发送给你的窗体。 
所有发送的消息都有四个参数--一个窗口句柄(hwnd),一个消息编号(msg)还有两个32位长度(Long)的参数。 
hwnd即要接受消息的一个窗口的句柄,msg即消息的标识符(编号)。该标识符是指引发消息的动作类型(如移动鼠标),另外两个参数是该消息的附加参数(例如当鼠标移动时光标的当前位置) 
但是,当消息发送给你时你为什么看不到呢?
小偷其实是Visual Basic。但它并没有偷走你的信,而是在阅读了之后挑出重要的以一种好的方式告诉你。这种方式就是你代码中的事件(Event)。 
这样,当用户在你的窗体上移动鼠标时,Windows会发送一条WM_MOUSEMOVE消息给你的窗口,VB得到这条消息以及它的参数并运行你在事件MouseMove中的代码,同时VB会把这条消息的第二个32位数(它包含了x、y坐标,单位为像素(Pixel),每个位16位)转换为两个单精度数,单位为缇(Twip)。 
现在,如果你需要光标坐标的像素表示,然而VB已经把它转换成了缇,因此你需要重新把它转换为以像素为单位。在这里,Windows给了你所需要的,但VB"好意地"进行了转换而使你不得不重新转换。你可能会问--我难道不能自己接收消息吗?答案是肯定的,你可以使用一种叫做子类处理(Subclass)的方法。但你除非必须否则最好不要使用,因为这与VB的安全程序设计有一点点的违背。(注:子类处理确实有很大的风险,但如果使用得当,是很有用处的。不过有一点一定要注意,即千万不要使用VB的断点调试功能,这可能会导致VB崩溃!) 
需要补充说明的是:你可以发送消息给你自己的窗口或其他的窗口,只需调用SendMessage或PostMessage(SendMessage会使接受到消息的窗口立刻处理消息,而PostMessage是把消息发送到一个称为消息队列的队列中去,等候处理(它将会在该消息处理完后返回,例如有些延迟))。你必须制定接受消息的窗口的句柄,欲发送消息的编号(所有的消息的编号均为常量,你可以通过API Text Viewer查得)以及两个32位的参数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值