游戏开发
文章平均质量分 89
chenwen19702
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
游戏开发笔记十二 游戏输入消息处理(一) 键盘消息处理
相信大家都熟悉《仙剑奇侠传98柔情版》的人机交互方式,用的仅仅是键盘。在那个物质并不充裕的时代,一台配置并不高的电脑,一款名叫《仙剑奇侠传》的游戏,却能承载一代人对梦想的追逐。虽然在这十几年间,各种新潮的游戏层出不穷,但是《仙剑奇侠传98柔情版》,作为国产单机游戏无法被超越的传奇,已经永远留在了我们这代人的心中。那是一个永远无法被取代的,最最唯美的梦。从这节笔记开始,我们就开始原创 2012-05-13 13:28:05 · 633 阅读 · 0 评论 -
游戏开发笔记之十 基础动画显示(三) 透明动画的实现
"透明动画”是游戏中一定会用到的基本技巧,它通过图案的连续显示及图案本身背景的透明化处理,在背景图上产生出栩栩如生的动画效果。看过之前笔记的朋友们应该知道,在笔记六里我们介绍了使位图背景透明的方法,在笔记八里我们讲解了使用游戏循环显示动画的技巧,而这节笔记的内容,刚好是两者的一个综合。为了实现透明动画的效果,我们采用了一个如下图所示的恐龙跑动的连续图,每一张跑动图的宽高都为95原创 2012-05-13 12:21:22 · 519 阅读 · 0 评论 -
游戏开发笔记之九 游戏地图制作(一)平面地图贴图
地图是游戏元素里面不可缺少的一部分,要产生游戏地图,除了可以直接使用已经绘制好的位图外,对于一些画面不太复杂,并且具有重复性质的地图或场景,有一个比较好的解决方法,那就是利用地图拼接,将一小块一小块的小地图组合成较大的地图。地图拼接的有点在于节省系统资源,因为一张大型的地图会占用比较多的内存空间,且加载速度较慢,如果游戏中使用了为数较多的大型地图,那么势必会降低程序运行时的性能,而且需要相当可原创 2012-05-13 12:17:18 · 2064 阅读 · 0 评论 -
游戏开发笔记之八——基础动画显示(二)游戏循环的使用
在笔记七中我们讲解了用定时器来产生动画的效果。定时器的使用固然简单方便,但是事实上这样的方法仅适合用在显示简易动画及小型的游戏程序中。因为一般而言,游戏本身需要显示顺畅的游戏画面,使玩家感觉不到延迟的状态。基本游戏画面必须在一秒钟之内更新至少25次以上,这一秒钟内程序还必须进行消息的处理和大量数学运算甚至音效的输出等操作。而使用定时器的消息来驱动这些操作,往往达不到所要求的标准,不然就会产生画面显原创 2012-05-13 12:14:29 · 446 阅读 · 0 评论 -
游戏开发笔记之四——游戏画面绘图(一)基本图形绘制
首先介绍一下GDI(Graphics Device Interface)。GDI,中文翻译为“图形设备接口”,是Windows API中相当重要的一个成员,它掌管了所有显像设备的图像显示及输出功能。Windows系统现在的图形操作环境都是他的功劳。Ⅰ.坐标与DC在实际利用GDI绘图之前,我们先来了解一下几个屏幕绘图的基本概论。▲创建一个窗口之后,显示的屏幕上便划分出三个原创 2012-05-13 11:52:30 · 1122 阅读 · 0 评论 -
游戏开发笔记之三——绘制图元
使用Direct3D绘制图元我们接下来的部分将介绍使用Direct3D在屏幕上绘图的图元。计算机图形学中的图元是可以渲染到屏幕上的基本形状。将图元组合在一起可以构成不同的形状和物体,诸如人物模型、场景物体、墙、建筑物等。最常用的图元是三角形。在游戏中常使用三角形,这是因为这样可以优化现代图形硬件,有效处理这类图元。其他图元包括四方形、直线和多边形。多边形被认为是图形,它是由直线构成的封闭区域。原创 2012-05-13 11:49:50 · 464 阅读 · 0 评论 -
游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类
我们知道,Visual C++中的CBitmap类的功能简直太弱小了,这曾经让Visual C++在图像处理方面的功能比较尴尬。之前笔记里面,我们采用的CBitmap配合GDI进行透明图像的处理有些晦涩繁琐,而且受到图像素材的限制,可以说是有些落后,不是太实用。为了解决这个问题,这节笔记我们将系统的学习MFC和ATL中新增一个图像处理的类,它就是华丽而强大的CImage原创 2012-05-13 14:04:55 · 577 阅读 · 0 评论 -
游戏开发笔记之十一 基础动画显示(四) 排序贴图
“排序贴图”是源自于物体远近呈现的一种贴图概念。回忆我们之前笔记的贴图思想,先进行距离比较远的物体的贴图操作,然后再进行近距离物体的贴图操作,一旦定出贴图的顺序之后就无法再改变了。然而这样的作法在画面上物体会彼此遮掩的情况下就会不适用。也许会出现后面的物体反而遮住了前面的物体的这种不协调的画面。为了避免这种因为贴图顺序而固定而产生的错误画面,必须在每一次窗口重新显示时动态地重新决定画面原创 2012-05-13 12:29:05 · 452 阅读 · 0 评论 -
游戏开发笔记之七——基础动画显示(一)定时器的使用
定时器的使用定时器(Timer)对象可以每隔一段时间发出一个时间消息,程序一旦接收到此消息之后,便可以决定接下来要做哪些事情。这样的一个特性刚好可以适合播放静态的连续图片,产生动画的效果。下面来介绍如何建立与使用定时器。建立定时器Windows API 的SetTimer()函数可为窗口建立一个定时器,并说每隔一段时间就发出WM_TIMER消息,此函数的定义是原创 2012-05-13 12:12:08 · 611 阅读 · 0 评论 -
游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
从这节开始我们来讲解制作一般2D游戏画面经常要使用到的绘图特效。笔记六我们主要介绍“透明”特效的制作方法。透明效果由于所有的图文件都是以矩形来储存的,我们也许会需要把一张怪兽图片贴到窗口的背景图上,而这种情况下如果直接进行贴图,结果如下图:这似乎不是我们想要的结果。为了得到透明效果,我们需要运用到BitBlt()贴图函数以及其参数Raster的值原创 2012-05-13 12:04:45 · 1229 阅读 · 0 评论 -
游戏开发笔记之五——游戏画面绘图(二)绘制位图
以游戏文件来说,使用的位图数量相当多,因此都会先将位图存成文件,等到程序需要时再将文件加载到窗口中。将位图从文件加载带绘图窗口中必须经过一下几个步骤。从文件中加载位图对象建立一个与窗口DC兼容的内存DC内存DC只用步骤1中所建立的位图对象将内存DC的内容粘贴到窗口DC中,完成显像操作。下面进行这四个步骤的详细说明:步骤一:加载位图要从文件加载位图,常常使原创 2012-05-13 11:57:39 · 444 阅读 · 0 评论 -
游戏开发笔记之二——最简单的DirectX,vc窗口的编写
笔记一中我们介绍了如何用代码创建空的win32窗口,然而创建空的win32窗口只完成了一半的工作,接下来要做的工作是设置Direct3D,从而可以在屏幕上渲染图形。Direct3D要调用很多函数才能成功设置API。一旦完成设置,并且设置成功,就可以向屏幕上渲染图形。下面是函数中设置Direct3D所需的最少代码。[cpp] view plaincop原创 2012-05-13 11:46:18 · 616 阅读 · 0 评论 -
游戏开发笔记之DirectX开发环境的快速配置
一个DirectX程序要想正确的编译和链接,需要下面三个主要前提一 安装DirectX SDK二 正确配置.h文件路径和.lib文件路径三 正确链接所需.lib文件详细步骤如下:一.安装DirectX SDK二.正确配置.h文件和.lib文件路径1. 启动VS,依次选择tools-option-projects and sol原创 2012-05-13 11:37:29 · 466 阅读 · 0 评论 -
游戏开发笔记之一——API函数、DirectX的关键系统
1.DirectX的定义首先,我们必须了解DirectX的定义。DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。被广泛使用于Microsoft Windows、Microsoft Xbox和Microsoft Xbox 360电子游戏开发,并且只能支持这些平台。最新版本为DirectX 11,创建在最新的Wind原创 2012-05-13 11:29:08 · 700 阅读 · 0 评论 -
游戏开发笔记十六 讲解一个完整的回合制游戏demo
首先,我们来了解这种行为型AI的设计方法。游戏程序中计算机角色的思考与行为,实际上是对各种不同事件进行分析思考,然后根据不同的情况作出相应的反应。但如何对发生的条件进行判断,并作出相应的反应呢?对,我们可以利用“if-else”条件句以及“switch-case”语句这类的判断式来完成。通常情况下,设计此类AI,会涉及到连串的条件判断句,简单数学运算,及一些数据结构的知识。原创 2012-05-13 14:10:55 · 3212 阅读 · 1 评论 -
游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
我们常常听闻AI(Artificial Intelligence人工智能)这个名词,比如Dota里面的AI地图。写这篇文章的时候,最新版的Dota AI是6.72f,估计过几天6.73的AI也要出来了。很多Dota玩家喜欢玩AI地图练练感觉和补刀,可以这样说,Dota 地图成功的加入了AI元素,是近几年Dota风靡全球不可缺少的因素之一。一、知识点讲解那么,到底什么原创 2012-05-13 14:07:47 · 823 阅读 · 0 评论 -
游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理
上一节我们讲解了键盘消息处理相关的知识。键盘加鼠标作为目前人机交互方式依旧的主流,在讲完键盘消息处理之后接着讲鼠标消息处理,自然是理所当然的。 这一节主要介绍各种鼠标消息的处理方式以及一些相关函数的运用方法,然后用一个小实例来巩固本节所学。一,鼠标消息的处理方式大家都知道,目前市场上主流鼠标规格为两个按键加上一个滚轮。那么,我们先列出Windows中这种鼠标设备原创 2012-05-13 13:47:40 · 511 阅读 · 0 评论 -
游戏开发笔记十八 游戏基础物理建模(一) 匀速与加速运动
我们可以毫不夸张的说,在当今的任意一款成功的3D游戏引擎中,物理建模都是非常核心的部分。比如当今最高水平的、大名鼎鼎的引擎Unreal Engine 3 (虚幻3),比如国产第一单机游戏《仙剑奇侠传》四代与五代采用的引擎Renderware,都有着健壮而强大的代码负责着引擎内部完善的物理建模。为了设计出立足实际,联系现实的游戏,为了我们研发出能有与现实物理现象大体相原创 2012-05-13 14:15:45 · 1126 阅读 · 1 评论
分享