代码改变世界

随笔分类 -  【Visual C++】

【Visual C++】游戏开发笔记二十 游戏基础物理建模(二) 重力系统的模拟

2012-05-06 02:05 by java ee spring, 609 阅读, 收藏,
摘要: 本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7496200作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得在笔记十八里面我们介绍了基础的匀速与加速运动的物理建模,基本的物理建模导论和前续相关知识的讲解请移步:【Visual C++】游戏开发笔记十八游戏基础物理建模(一) 匀速与加速运动。本节知识相当于该节知识的一个拓展,模拟生活中的重力系统,它可以为我们开发的游戏提供一个近乎逼真的重力模拟系统,也可以为我们游戏引擎开发中物理系统相关代码的书写提供一定的思 阅读全文

【Visual C++】一些开发心得与调试技巧

2012-05-03 05:27 by java ee spring, 321 阅读, 收藏,
摘要: 自己平时收集的一些技巧与心得,这里分享出来,普及一下知识。 1.如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disable(Debug),Debut info选Program Database。在Link标签中选中Generate debug info复选框。 注:只是一个介乎Debug和Release的中间状态,所有的ASSERT、VERIFY都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下Qui 阅读全文

一些常用软件的网络端口协议分类介绍

2012-05-01 01:00 by java ee spring, 435 阅读, 收藏,
摘要: 最近有朋友请教我有关实现校园局域网视频功能软件的编写问题,涉及到端口有关的知识,自己查了一些资料,发现这篇文章总结得比较不错,常用软件涵盖得比较丰富,很实用,需要用到的时候可以查阅。于是决定将这篇文章分享出来。在这里感谢一下整理者,原文地址为http://hi.baidu.com/chinarisingsun/blog/item/e3ac21f214b1ad03b17ec5c5.html各种软件网络端口的分类: 即时通讯类: 1、腾讯QQ通讯协议及端口范围 QQ 默认采用UDP 通讯方式,端口8000,8001。如果UDP 的两个端口不通,会自动转换到TCP 80端口或者TCP 443... 阅读全文

【Visual C++】游戏开发笔记十八 游戏基础物理建模(一) 匀速与加速运动

2012-04-25 04:06 by java ee spring, 589 阅读, 收藏,
摘要: 本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7496200作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得我们可以毫不夸张的说,在当今的任意一款成功的3D游戏引擎中,物理建模都是非常核心的部分。比如当今最高水平的、大名鼎鼎的引擎UnrealEngine3(虚幻3),比如国产第一单机游戏《仙剑奇侠传》四代与五代采用的引擎Renderware,都有着健壮而强大的代码负责着引擎内部完善的物理建模。为了设计出立足实际,联系现实的游戏,为了我们研发出能有与现实物理现象大 阅读全文

【Visual C++】游戏开发笔记十七 游戏基础算法(一) 游戏随机系统初步

2012-04-17 03:50 by java ee spring, 770 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7468011作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得每一款游戏,或大或小,都是由一段段默默无闻的算法在支撑着他们的运作,我们不能只欣赏绚丽的游戏成品表现在我们面前的华丽与光鲜,还要看到那些支撑在华丽与光鲜背后的,鲜为人知的算法。 篇章一 引言我们知道,在游戏领域里,围绕随机性与随机数展开的一系列技术有着非常广阔的运用空间。比如所有游戏都离不开的宝物掉落系统。极品装备的... 阅读全文

【Visual C++】vs2008/2005正确打开vs2010所创建项目的几种方法

2012-04-12 14:38 by java ee spring, 443 阅读, 收藏,
摘要: 最近有朋友在下载了我的专栏“【Visual C++】游戏开发”里某一节笔记的源代码之后,发觉一个问题:他们的IDE是VS2008,而我提供的源代码都是注明在VS2010下运行。于是我发表这篇博文,希望能对想解决这个问题的朋友有所帮助。当用VS2010打开VS2008解决方案(sln文件)或项目(csproj文件或vbproj文件等)时,VS2010会提示需要进行升级转换。反之,如果用VS2008打开VS2010的解决方案文件,会提示此sln是新版本的VS创建,无法打开;如果打开项目,会有安全警告,但可以打开。有时候,你可能又想用VS2008打开VS2010的解决方案,比如你的机器还没有装VS2 阅读全文

【Visual C++】关于无法打开包括文件:“StdAfx.h”或者意外结尾的错误解决方案

2012-04-11 21:10 by java ee spring, 505 阅读, 收藏,
摘要: 最近有朋友在编译我提供的【Visual C++】游戏开发某一节笔记的源代码的时候,提到出现“fatal error C1083:无法打开包括文件:“StdAfx.h”这个错误。这里我专门找了点资料,然后部分修改,写成了一篇博文发出来,希望能对出现这个问题的朋友们有所帮助。这个错误大都是由于预编译头文件及#include<stdafx.h>这两者的关系纠缠不清引起的,呵呵。这里我们采用vs2010讲解,其他版本其实操作方案也差不多。1、如果在Visual C++工程的.cpp文件中包含了代码#include<stdafx.h>,则工程就需要将属性设置为:“使用预编译头”, 阅读全文

【Visual C++】游戏开发笔记十六 讲解一个完整的回合制游戏demo

2012-04-11 03:10 by java ee spring, 877 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。 文章链接 http://blog.csdn.net/zhmxy555/article/details/7447864作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得这节笔记的主要内容是介绍一个完整的回合制游戏demo,而这个demo里面主要突出了游戏里AI的各种思考与行为的方式.这样的通过计算机角色本身的判断思考,然后产生对应行为的AI称作行为型游戏AI。如果对AI基础不太了解的朋友,请移步:【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI首先,我们来了解这种行为型AI的设计方法。游戏程 阅读全文

【Visual C++】绘图函数BitBlt的使用方法

2012-04-10 18:11 by java ee spring, 306 阅读, 收藏,
摘要: BitBlt该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。原型:BOOL BitBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop);参数: hdcDest:指向目标设备环境的句柄。nXDest、nYDest:指定目标矩形区域左上角的X轴和Y轴逻辑坐标nWidth、nHeight:指定源和目标矩形区域的逻辑宽度和逻辑高度。hdcSrc:指向源设备环境的句柄。nXSrc、nYS 阅读全文

【Visual C++】CDC与HDC的区别以及相互转换

2012-04-10 01:55 by java ee spring, 378 阅读, 收藏,
摘要: CDC是MFC的DC的一个类HDC是DC的句柄,API中的一个类似指针的数据类型.MFC类的前缀都是C开头的H开头的大多数是句柄这是为了助记,是编程读\写代码的好的习惯.CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类).CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.记住下面的一句话,会有助于你的理解.MFC的类,是在用window API语句开发出来的有一定功能的小程序.(也可称为类).使用它的默认方法,就是,记住它的名字与参数(可以用笔记,代替脑记).如果将window api比做汇编语言那么MFC就 阅读全文

【Visual C++】Windows GDI贴图闪烁解决方法

2012-04-07 22:54 by java ee spring, 264 阅读, 收藏,
摘要: 一般的windows复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是1/80秒左右,具体数字可以自己设置的。这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个刷新周期内完成,那么给人的视觉感受就是,先看到只有背景色的图像,然后看到画上内容的图像,这样就会感觉闪烁了。解决方法:尽量快的输出图像,使输出在一个刷新周期 阅读全文

【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI

2012-04-07 05:44 by java ee spring, 339 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。 http://blog.csdn.net/zhmxy555/article/details/7434317作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得我们常常听闻AI(ArtificialIntelligence人工智能)这个名词,比如Dota里面的AI地图。写这篇文章的时候,最新版的DotaAI是6.72f,估计过几天6.73的AI也要出来了。很多Dota玩家喜欢玩AI地图练练感觉和补刀,可以这样说,Dota地图成功的加入了AI元素,是近几年Dota风靡全球不可缺少的因素之一。一、知识点讲解那么,到底什么是A 阅读全文

【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类

2012-04-03 04:15 by java ee spring, 309 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7422922作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得我们知道,VisualC++中的CBitmap类的功能简直太弱小了,这曾经让Visual C++在图像处理方面的功能比较尴尬。之前笔记里面,我们采用的CBitmap配合GDI进行透明图像的处理有些晦涩繁琐,而且受到图像素材的限制,可以说是有些落后,不是太实用。为了解决这个问题,这节笔记我们将系统的学习MFC和ATL中新增一个图像处理的类,它就是华丽而强大的CImag 阅读全文

【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理

2012-03-29 03:22 by java ee spring, 268 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7405479作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得上一节我们讲解了键盘消息处理相关的知识。键盘加鼠标作为目前人机交互方式依旧的主流,在讲完键盘消息处理之后接着讲鼠标消息处理,自然是理所当然的。这一节主要介绍各种鼠标消息的处理方式以及一些相关函数的运用方法,然后用一个小实例来巩固本节所学。一,鼠标消息的处理方式大家都知道,目前市场上主流鼠标规格为两个按键加上一个滚轮。那么,我们先列出Windows中这种鼠标设备输入时 阅读全文

【Visual C++】游戏开发笔记十二 游戏输入消息处理(一) 键盘消息处理

2012-03-24 18:30 by java ee spring, 277 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7390624作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得相信大家都熟悉《仙剑奇侠传98柔情版》的人机交互方式,用的仅仅是键盘。在那个物质并不充裕的时代,一台配置并不高的电脑,一款名叫《仙剑奇侠传》的游戏,却能承载一代人对梦想的追逐。虽然在这十几年间,各种新潮的游戏层出不穷,但是《仙剑奇侠传98柔情版》,作为国产单机游戏无法被超越的传奇,已经永远留在了我们这代人的心中。那是一个永远无法被取代的,最最唯美的梦。从这节笔记开始 阅读全文

【Visual C++】游戏开发笔记之十一 基础动画显示(四) 排序贴图

2012-03-23 03:20 by java ee spring, 276 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7385605作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得“排序贴图”是源自于物体远近呈现的一种贴图概念。回忆我们之前笔记的贴图思想,先进行距离比较远的物体的贴图操作,然后再进行近距离物体的贴图操作,一旦定出贴图的顺序之后就无法再改变了。然而这样的作法在画面上物体会彼此遮掩的情况下就会不适用。也许会出现后面的物体反而遮住了前面的物体的这种不协调的画面。为了避免这种因为贴图顺序而固定而产生的错误画面,必须在每一次窗口重新显示 阅读全文

【Visual C++】游戏开发笔记之十 基础动画显示(三) 透明动画的实现

2012-03-21 04:27 by java ee spring, 249 阅读, 收藏,
摘要: 本系列文章由zhmxy555编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7376281作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得"透明动画”是游戏中一定会用到的基本技巧,它通过图案的连续显示及图案本身背景的透明化处理,在背景图上产生出栩栩如生的动画效果。看过之前笔记的朋友们应该知道,在笔记六里我们介绍了使位图背景透明的方法,在笔记八里我们讲解了使用游戏循环显示动画的技巧,而这节笔记的内容,刚好是两者的一个综合。如果有没看过之前笔记系列的朋友,为了便于理解本节的内容,可以先浏览一下之 阅读全文