?? 游戲開發中心----游戲實驗室 - 博客園.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 + -