
C++
文章平均质量分 79
lengwuqin
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理
上一节我们讲解了键盘消息处理相关的知识。键盘加鼠标作为目前人机交互方式依旧的主流,在讲完键盘消息处理之后接着讲鼠标消息处理,自然是理所当然的。 这一节主要介绍各种鼠标消息的处理方式以及一些相关函数的运用方法,然后用一个小实例来巩固本节所学。一,鼠标消息的处理方式大家都知道,目前市场上主流鼠标规格为两个按键加上一个滚轮。那么,我们先列出Wi转载 2012-03-29 16:29:56 · 510 阅读 · 0 评论 -
#ifndef#define#endif的用法(整理)
[转] #ifndef#define#endif的用法(整理) 原作者:icwk 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被转载 2012-04-21 09:55:56 · 359 阅读 · 0 评论 -
【Visual C++】游戏开发笔记十八 游戏基础物理建模(一) 匀速与加速运动
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。 http://blog.youkuaiyun.com/zhmxy555/article/details/7496200作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得我们可以毫不夸张的说,在当今的任意一款成功的3D游戏引擎中,物理建模都是非常核心的部分。转载 2012-04-25 16:18:44 · 483 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统
在从第一节开始看这个笔记系列的话,大家会发现,一上来就开始讲DirectX相关的内容,但是写了几节之后,又开始讲GDI了。这是因为我写完前几节后,发觉直接讲DirectX有些生硬。最后我想了一下,应该先梳理完GDI相关的重点知识,再来讲DirectX,毕竟游戏编程里面windows API是基础。所以先讲windows API,再来讲DirectX,这样会自然得多。————转载 2012-03-27 12:27:28 · 465 阅读 · 0 评论 -
DirectX开发环境的快速配置【转】
一个DirectX程序要想正确的编译和链接,需要下面三个主要前提一 安装DirectX SDK二 正确配置.h文件路径和.lib文件路径三 正确链接所需.lib文件详细步骤如下:一.安装DirectX SDK二.正确配置.h文件和.lib文件路径1. 启动VS,依次选择tools-option-pr转载 2012-03-27 12:29:01 · 373 阅读 · 0 评论 -
【 Visual C++】游戏开发笔记之三——绘制图元
使用Direct3D绘制图元我们接下来的部分将介绍使用Direct3D在屏幕上绘图的图元。计算机图形学中的图元是可以渲染到屏幕上的基本形状。将图元组合在一起可以构成不同的形状和物体,诸如人物模型、场景物体、墙、建筑物等。最常用的图元是三角形。在游戏中常使用三角形,这是因为这样可以优化现代图形硬件,有效处理这类图元。其他图元包括四方形、直线和多边形。多边形被认为是图形,它是由直线构成的封闭区转载 2012-03-27 12:32:09 · 562 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之八——基础动画显示(二)游戏循环的使用
在笔记七中我们讲解了用定时器来产生动画的效果。定时器的使用固然简单方便,但是事实上这样的方法仅适合用在显示简易动画及小型的游戏程序中。因为一般而言,游戏本身需要显示顺畅的游戏画面,使玩家感觉不到延迟的状态。基本游戏画面必须在一秒钟之内更新至少25次以上,这一秒钟内程序还必须进行消息的处理和大量数学运算甚至音效的输出等操作。而使用定时器的消息来驱动这些操作,往往达不到所要求的标准,不然就会产生画面显转载 2012-03-27 12:39:51 · 519 阅读 · 0 评论 -
【Visual C++】游戏开发笔记十七 游戏基础算法(一) 游戏随机系统初步
本系列文章由zhmxy555编写,转载请注明出处。http://blog.youkuaiyun.com/zhmxy555/article/details/7468011作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得每一款游戏,或大或小,都是由一段段默默无闻的算法在支撑着他们的运作,我们不能只欣赏绚丽的游戏成转载 2012-04-17 19:54:23 · 580 阅读 · 0 评论 -
C++中的虚函数和纯虚函数用法
1. 虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。 2. 虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才可以使用,因为纯虚函数在基类(base cl原创 2012-04-21 09:36:09 · 330 阅读 · 0 评论 -
关于#/##在宏定义中的用法
第1篇在C/C++的宏定义中,#/##存在特殊的作用1. #运算符将一个宏的参数转换为字符串字面量。它仅允许出现在带参数的宏的替换列表中。view plaincopy to clipboardprint?#include #define PRINT_STR(s) printf(#s" = %s/n", s) int main() {转载 2012-04-21 16:26:07 · 374 阅读 · 0 评论 -
【Visual C++】游戏开发笔记十九 DirectX与OpenGL的博弈
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.youkuaiyun.com/zhmxy555/article/details/7522960作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得作为游戏开发界老生常谈的话题,浅墨认为有必要写这样一篇文章来专门分析一下两者转载 2012-04-30 15:48:00 · 663 阅读 · 0 评论 -
【Visual C++】游戏开发笔记二十 游戏基础物理建模(二) 重力系统的模拟
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.youkuaiyun.com/zhmxy555/article/details/7496200作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得 在笔记十八里面我们介绍了基础的匀速与加速运动的物理建模,基本的物理建模导论和前续相关知识的讲解转载 2012-05-07 09:29:44 · 968 阅读 · 0 评论 -
【Visual C++】游戏开发笔记二十一 游戏基础物理建模(三) 摩擦力系统模拟
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.youkuaiyun.com/zhmxy555/article/details/7555785作者:毛星云 邮箱: happylifemxy@qq.com 期待着与志同道合的朋友们相互交流本节内容主要介绍摩擦力系转载 2012-05-11 22:27:13 · 622 阅读 · 0 评论 -
【Visual C++】游戏开发笔记十六 讲解一个完整的回合制游戏demo
本系列文章由zhmxy555编写,转载请注明出处。 作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得这节笔记的主要内容是介绍一个完整的回合制游戏demo,而这个demo里面主要突出了游戏里AI的各种思考与行为的方式,这样的AI称作行为型AI。如果对AI基础不太了解的朋友,请移步:【Vi转载 2012-04-11 08:47:08 · 1017 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之十四 游戏画面绘图(四) 华丽的CImage类
本系列文章由zhmxy555编写,转载请注明出处。 作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得我们知道,Visual C++中的CBitmap类的功能简直太弱小了,这曾经让Visual C++在图像处理方面的定位比较的尴尬。之前笔记里面,我们采用的CBitmap配合GDI转载 2012-04-03 08:02:02 · 1040 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之九 游戏地图制作(一)平面地图贴图
地图是游戏元素里面不可缺少的一部分,要产生游戏地图,除了可以直接使用已经绘制好的位图外,对于一些画面不太复杂,并且具有重复性质的地图或场景,有一个比较好的解决方法,那就是利用地图拼接,将一小块一小块的小地图组合成较大的地图。地图拼接的有点在于节省系统资源,因为一张大型的地图会占用比较多的内存空间,且加载速度较慢,如果游戏中使用了为数较多的大型地图,那么势必会降低程序运行时的性能,而且需要相转载 2012-03-27 12:24:54 · 745 阅读 · 0 评论 -
【 Visual C++】游戏开发笔记之二——最简单的DirectX,vc窗口的编写
笔记一中我们介绍了如何用代码创建空的win32窗口,然而创建空的win32窗口只完成了一半的工作,接下来要做的工作是设置Direct3D,从而可以在屏幕上渲染图形。Direct3D要调用很多函数才能成功设置API。一旦完成设置,并且设置成功,就可以向屏幕上渲染图形。下面是函数中设置Direct3D所需的最少代码。[cpp] view转载 2012-03-27 12:30:45 · 925 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之七——基础动画显示(一)定时器的使用
定时器的使用定时器(Timer)对象可以每隔一段时间发出一个时间消息,程序一旦接收到此消息之后,便可以决定接下来要做哪些事情。这样的一个特性刚好可以适合播放静态的连续图片,产生动画的效果。下面来介绍如何建立与使用定时器。建立定时器Windows API 的SetTimer()函数可为窗口建立一个定时器,并说每隔一段时间就发出WM_TIMER消息,此函转载 2012-03-27 12:37:46 · 499 阅读 · 0 评论 -
【Visual C++】游戏开发笔记十二 游戏输入消息处理(一) 键盘消息处理
相信大家都熟悉《仙剑奇侠传98柔情版》的人机交互方式,用的仅仅是键盘。在那个物质并不充裕的时代,一台配置并不高的电脑,一款名叫《仙剑奇侠传》的游戏,却能承载一代人对梦想的追逐。虽然在这十几年间,各种新潮的游戏层出不穷,但是《仙剑奇侠传98柔情版》,作为国产单机游戏无法被超越的传奇,已经永远留在了我们这代人的心中。那是一个永远无法被取代的,最最唯美的梦。从这节笔记开始转载 2012-03-27 12:45:23 · 424 阅读 · 0 评论 -
【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
本系列文章由zhmxy555编写,转载请注明出处。 作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得我们常常听闻AI(Artificial Intelligence人工智能)这个名词,比如Dota里面的AI地图。写这篇文章的时候,最新版的Dota AI是6.72f,估计过几天6.73的AI也要出来了。很多Do转载 2012-04-08 22:47:13 · 571 阅读 · 0 评论 -
C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
声明:本文转自:优快云修改了其中的一处笔误:reinterpret_cast 错写成reinpreter_cast===================================================使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。1 static_ca转载 2012-04-21 13:31:32 · 296 阅读 · 0 评论 -
C++经典面试题
1、以下三条输出语句分别输出什么?[cpp] view plaincopy char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "转载 2012-04-28 21:07:19 · 564 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制
首先介绍一下GDI(Graphics Device Interface)。GDI,中文翻译为“图形设备接口”,是Windows API中相当重要的一个成员,它掌管了所有显像设备的图像显示及输出功能。Windows系统现在的图形操作环境都是他的功劳。Ⅰ.坐标与DC在实际利用GDI绘图之前,我们先来了解一下几个屏幕绘图的基本概论。▲创建一个窗口之后,显示转载 2012-03-27 12:33:37 · 678 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之五——游戏画面绘图(二)绘制位图
以游戏文件来说,使用的位图数量相当多,因此都会先将位图存成文件,等到程序需要时再将文件加载到窗口中。将位图从文件加载带绘图窗口中必须经过一下几个步骤。从文件中加载位图对象建立一个与窗口DC兼容的内存DC内存DC只用步骤1中所建立的位图对象将内存DC的内容粘贴到窗口DC中,完成显像操作。下面进行这四个步骤的详细说明:步骤一:加载转载 2012-03-27 12:35:14 · 599 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
从这节开始我们来讲解制作一般2D游戏画面经常要使用到的绘图特效。笔记六我们主要介绍“透明”特效的制作方法。透明效果由于所有的图文件都是以矩形来储存的,我们也许会需要把一张怪兽图片贴到窗口的背景图上,而这种情况下如果直接进行贴图,结果如下图:这似乎不是我们想要的结果。为了得到透明效果,我们需要运用到BitBlt(转载 2012-03-27 12:36:38 · 471 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之十 基础动画显示(三) 透明动画的实现
"透明动画”是游戏中一定会用到的基本技巧,它通过图案的连续显示及图案本身背景的透明化处理,在背景图上产生出栩栩如生的动画效果。看过之前笔记的朋友们应该知道,在笔记六里我们介绍了使位图背景透明的方法,在笔记八里我们讲解了使用游戏循环显示动画的技巧,而这节笔记的内容,刚好是两者的一个综合。如果有没看过之前笔记系列的朋友,为了便于理解本节的内容,可以先浏览一下之前转载 2012-03-27 12:42:12 · 641 阅读 · 0 评论 -
【Visual C++】游戏开发笔记之十一 基础动画显示(四) 排序贴图
排序贴图”是源自于物体远近呈现的一种贴图概念。回忆我们之前笔记的贴图思想,先进行距离比较远的物体的贴图操作,然后再进行近距离物体的贴图操作,一旦定出贴图的顺序之后就无法再改变了。然而这样的作法在画面上物体会彼此遮掩的情况下就会不适用。也许会出现后面的物体反而遮住了前面的物体的这种不协调的画面。为了避免这种因为贴图顺序而固定而产生的错误画面,必须在每一次窗口重新显示时动态地重新决转载 2012-03-27 12:43:43 · 658 阅读 · 0 评论 -
【Visual C++】游戏开发笔记二十二 游戏基础物理建模(四) 粒子系统模拟(一) .
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.youkuaiyun.com/zhmxy555/article/details/7585937作者:毛星云 邮箱: happylifemxy@qq.com 期待着与志同道合的朋友们相互交流 本节内容主要讲解了在GDI中粒子的转载 2012-05-26 11:49:44 · 826 阅读 · 0 评论