📄 游戏开发中心----游戏实验室 - 博客园.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0030)http://www.cnblogs.com/3vgame/ -->
<HTML><HEAD id=Head><TITLE>游戏开发中心----游戏实验室 - 博客园</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META id=metaKeywords content="博客 程序员 开发人员 ASP.NET Blog .NET"
name=keywords><LINK id=MainCss href="游戏开发中心----游戏实验室 - 博客园.files/style.css"
type=text/css rel=stylesheet><LINK id=RSSLink title=RSS
href="http://www.cnblogs.com/3vgame/rss.aspx" type=application/rss+xml
rel=alternate>
<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY>
<FORM id=Form1 name=Form1 action=default.aspx method=post>
<DIV><INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> <INPUT
id=__EVENTARGUMENT type=hidden name=__EVENTARGUMENT> <INPUT
id=" __VIEWSTATE" type=hidden name=__VIEWSTATE> </DIV>
<SCRIPT type=text/javascript>
<!--
var theForm = document.forms['Form1'];
if (!theForm) {
theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</SCRIPT>
<DIV id=top>
<DIV>
<TABLE>
<TBODY>
<TR>
<TD class=HeaderTitles>
<H1 class=HeaderTitle><A class=HeaderMainTitle id=Header1_HeaderTitle
href="http://www.cnblogs.com/3vgame/">游戏开发中心----游戏实验室</A></H1>
<P id=tagline>游戏开发日志,教程,学习过程,学习经历<BR><A
href="http://www.3vgame.com/">http://www.3vgame.com/</A></P></TD></TR></TBODY></TABLE></DIV>
<DIV class=HeaderBar>
<TABLE class=HeaderBar id=HeaderBar cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD class=HeaderBarTab noWrap> <A id=Header1_MyLinks1_HomeLink
href="http://www.cnblogs.com/">博客园</A> :: <A
id=Header1_MyLinks1_MyHomeLink
href="http://3vgame.cnblogs.com/">首页</A> :: <A
id=Header1_MyLinks1_NewPostLink
href="http://www.cnblogs.com/3vgame/admin/EditPosts.aspx?opt=1">新随笔</A> ::
<A id=Header1_MyLinks1_ContactLink accessKey=9
href="http://www.cnblogs.com/3vgame/contact.aspx?id=1">联系</A> :: <A
id=Header1_MyLinks1_Syndication
href="http://www.cnblogs.com/3vgame/rss">订阅</A> <A class=XMLLink
id=Header1_MyLinks1_XMLLink href="http://www.cnblogs.com/3vgame/rss"><IMG
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
alt=订阅 src="游戏开发中心----游戏实验室 - 博客园.files/xml.gif"></A> :: <A
id=Header1_MyLinks1_Admin
href="http://www.cnblogs.com/3vgame/admin/EditPosts.aspx">管理</A> ::
</TD>
<TD><IMG id=Header1_BlueTab
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="游戏开发中心----游戏实验室 - 博客园.files/BlueTabRight.gif" align=absMiddle></TD>
<TD class=HeaderBarTabBack noWrap width="100%">
<DIV class=BlogStatsBar>
<TABLE class=BlogStatsBar>
<TBODY>
<TR>
<TD width="100%"></TD>
<TD class=BlogStatsBar noWrap> 9 随笔 :: 3 文章 :: 542 评论 ::
0 Trackbacks
</TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV id=leftmenu></DIV>
<DIV id=main>
<P class=date>2006年4月10日 <A
id=homepage1_HomePageDays_DaysList_ctl00_DayItem_ImageLink title="Day Archive"
style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline-block; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 12px; HEIGHT: 15px; BORDER-RIGHT-WIDTH: 0px"
href="http://www.cnblogs.com/3vgame/archive/2006/04/10.html">#</A> </P>
<DIV class=post>
<DIV class=postTitle><A
id=homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl00_TitleUrl
href="http://www.cnblogs.com/3vgame/archive/2006/04/10/371781.html">游戏开发—图形图像篇</A>
</DIV>
<DIV class=postText>
<TABLE id=AutoNumber2 style="BORDER-COLLAPSE: collapse" cellSpacing=0
cellPadding=0 width="85%" border=0>
<TBODY>
<TR>
<TD width="100%">
<P align=center><FONT color=#ffffee><B>游戏开发—图形图像篇</B></FONT></P></TD></TR>
<TR>
<TD width="100%"> </TD></TR>
<TR>
<TD width="100%"><FONT size=2><B>游戏开发--开篇</B><BR> 记得我第一次玩的PC game
是KKND(绝地风暴),当时的游戏平台是DOS,我只是觉得很好玩,经常和几个小学同学一起厮杀到12点。可是现在回忆起来,KKND无论是从智能设计还是在游戏画面与操作上都是非常出色的。他的音效同样是很棒的,而且全中文配音让当时很多不懂英语的玩家找到了许多的亲切感。这真是一款很棒的游戏。It
is
great!<BR><BR> 我想,这样的感觉是许多游戏开发者或者梦想成为游戏开发者的人们所共同经历的感受。一款好游戏会带给人们很多东西,会带给社会很多东西。
在人的层面上,无论是"大富翁"让我们娱乐,还是"文明"让我们感受科技发展带来的成果与思考,在我们玩一个游戏的时候,我们读到的故事,经历的坎坷,解决的问题,无时无刻不在让我们感受着游戏之外的很多东西。
在社会的层面上,游戏产业就本身而言,市场不断扩大,需求不断增多;更重要的是,他带动了出版、通信等相关产业的迅猛增长。游戏与相关产业增长的比值有时甚至是1:100。现在看看韩国政府对于游戏产业的支持,就有"醉翁之意不在酒"的感觉了。<BR><BR> 中国的游戏产业将在2005年左右达到10美元的市场,我们国人绝不应放弃这个发展的大好机会。其实,我们可以看到现在有很多的游戏公司,看起来像是一片欣欣向荣、蓬勃发展的场面,但是这里面又有多少是搞游戏开发的呢?是少之又少。很多公司都是代理国外的游戏,这样一来,国外很多的游戏开发厂商获得了大量的利润,而我们在为小蛋糕争得你死我活时,别人已经各自享用着自己的大餐了。资金不足无疑是各个公司搞游戏代理的最主要理由。但是我们可以看到,像CS这样成功的Garage
Game,我们为什么做不出来?答案很多,问题很多,我们要做的事情很多。
于是,本着从我做起的原则,还是应该不断以提高自身的能力为主。毕竟我们和外国走的路不同,我们要找到适合自己的发展道路,走出一条具有中国特色的产业发展路线。当然,在路上我们还要不断的学习。
<BR><BR> 所以,在我学习游戏开发的过程中,看到了我们中国学生的很多文章,有很多都是很有水平的。于是自己也提起笔来,把自己学习的经验和心得写下来,和大家一起讨论和提高。
这一系列的文章主要是面向想学习游戏开发的朋友,文章是从实际开发源代码的角度去介绍游戏开发的各个方面(文章中的示例代码用C++编写),但是瓦文章并不是完全地教学,更像是一个游戏开发的学习索引。它告诉初学者,做什么游戏需要什么技术,指引他们去学习某项技术,从而真正回归到自己学习的乐趣中来,为最终游戏的设计和实现奠定基础。<BR><BR><BR><B>游戏开发--图形图像篇(一)</B><BR><BR>一个游戏的好坏谁说了算?<BR> 玩家。<BR> 玩家如何看一个游戏?<BR> 用眼睛。<BR> 那么这款游戏怎么样?<BR> "画面真棒!"<BR> …
…<BR><BR> 你的游戏做得再好,如果没有一个很好的图形效果,那展现在玩家眼前的东西将大打折扣。而且,你的游戏也不会得到很好的支持。为什么呢?因为你的游戏无需使用很好的显示设备和图形加速设备,硬件厂商不会理睬你的游戏。这也就和开篇所说的"游戏促进相关产业的发展"的职责相悖了。所以,在写一个游戏之前,想一想开发这个游戏需要什么技能,"磨刀不误砍柴工"。让我们开始吧,先学一学游戏的图形开发。<BR><BR><B>一.
Windows 绘图接口</B><BR><BR><B>1.GDI/GDI+</B><BR>在开始前先让我们看一个具体的例子。<BR> </FONT>
<TABLE id=AutoNumber3 style="BORDER-COLLAPSE: collapse" cellSpacing=0
cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="100%">
<P align=center><IMG height=434
src="游戏开发中心----游戏实验室 - 博客园.files/GD-txtx_1.jpg" width=358
border=0></P></TD></TR></TBODY></TABLE>
<P><FONT
size=2>这个小程序的图形显示部分就是用GDI编写的。<BR> 我们在编写Windows应用程序的时候,经常会用到GDI/GDI+(Graghic
Deice
Interface,图形设备接口)。GDI是Windows早期版本中包括的图形设备接口,而GDI+是GDI的改进版本,对GDI的现存性能进行了优化,而且增加了很多新性能。<BR><BR>GDI/GDI+的结构如下图:</FONT></P>
<TABLE id=AutoNumber4 style="BORDER-COLLAPSE: collapse" cellSpacing=0
cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="100%">
<P align=center><IMG height=368
src="游戏开发中心----游戏实验室 - 博客园.files/GD-txtx_2.gif" width=247
border=0></P></TD></TR></TBODY></TABLE>
<P><FONT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -