?? 游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園.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>游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META id=metaKeywords content="博客 程序員 開發(fā)人員 ASP.NET Blog .NET"
name=keywords><LINK id=MainCss href="游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園.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/">游戲開發(fā)中心----游戲?qū)嶒炇?lt;/A></H1>
<P id=tagline>游戲開發(fā)日志,教程,學(xué)習(xí)過程,學(xué)習(xí)經(jīng)歷<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">聯(lián)系</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="游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園.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="游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園.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">游戲開發(fā)—圖形圖像篇</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>游戲開發(fā)—圖形圖像篇</B></FONT></P></TD></TR>
<TR>
<TD width="100%"> </TD></TR>
<TR>
<TD width="100%"><FONT size=2><B>游戲開發(fā)--開篇</B><BR> 記得我第一次玩的PC game
是KKND(絕地風(fēng)暴),當(dāng)時的游戲平臺是DOS,我只是覺得很好玩,經(jīng)常和幾個小學(xué)同學(xué)一起廝殺到12點(diǎn)。可是現(xiàn)在回憶起來,KKND無論是從智能設(shè)計還是在游戲畫面與操作上都是非常出色的。他的音效同樣是很棒的,而且全中文配音讓當(dāng)時很多不懂英語的玩家找到了許多的親切感。這真是一款很棒的游戲。It
is
great!<BR><BR> 我想,這樣的感覺是許多游戲開發(fā)者或者夢想成為游戲開發(fā)者的人們所共同經(jīng)歷的感受。一款好游戲會帶給人們很多東西,會帶給社會很多東西。
在人的層面上,無論是"大富翁"讓我們娛樂,還是"文明"讓我們感受科技發(fā)展帶來的成果與思考,在我們玩一個游戲的時候,我們讀到的故事,經(jīng)歷的坎坷,解決的問題,無時無刻不在讓我們感受著游戲之外的很多東西。
在社會的層面上,游戲產(chǎn)業(yè)就本身而言,市場不斷擴(kuò)大,需求不斷增多;更重要的是,他帶動了出版、通信等相關(guān)產(chǎn)業(yè)的迅猛增長。游戲與相關(guān)產(chǎn)業(yè)增長的比值有時甚至是1:100。現(xiàn)在看看韓國政府對于游戲產(chǎn)業(yè)的支持,就有"醉翁之意不在酒"的感覺了。<BR><BR> 中國的游戲產(chǎn)業(yè)將在2005年左右達(dá)到10美元的市場,我們國人絕不應(yīng)放棄這個發(fā)展的大好機(jī)會。其實(shí),我們可以看到現(xiàn)在有很多的游戲公司,看起來像是一片欣欣向榮、蓬勃發(fā)展的場面,但是這里面又有多少是搞游戲開發(fā)的呢?是少之又少。很多公司都是代理國外的游戲,這樣一來,國外很多的游戲開發(fā)廠商獲得了大量的利潤,而我們在為小蛋糕爭得你死我活時,別人已經(jīng)各自享用著自己的大餐了。資金不足無疑是各個公司搞游戲代理的最主要理由。但是我們可以看到,像CS這樣成功的Garage
Game,我們?yōu)槭裁醋霾怀鰜恚看鸢负芏啵瑔栴}很多,我們要做的事情很多。
于是,本著從我做起的原則,還是應(yīng)該不斷以提高自身的能力為主。畢竟我們和外國走的路不同,我們要找到適合自己的發(fā)展道路,走出一條具有中國特色的產(chǎn)業(yè)發(fā)展路線。當(dāng)然,在路上我們還要不斷的學(xué)習(xí)。
<BR><BR> 所以,在我學(xué)習(xí)游戲開發(fā)的過程中,看到了我們中國學(xué)生的很多文章,有很多都是很有水平的。于是自己也提起筆來,把自己學(xué)習(xí)的經(jīng)驗和心得寫下來,和大家一起討論和提高。
這一系列的文章主要是面向想學(xué)習(xí)游戲開發(fā)的朋友,文章是從實(shí)際開發(fā)源代碼的角度去介紹游戲開發(fā)的各個方面(文章中的示例代碼用C++編寫),但是瓦文章并不是完全地教學(xué),更像是一個游戲開發(fā)的學(xué)習(xí)索引。它告訴初學(xué)者,做什么游戲需要什么技術(shù),指引他們?nèi)W(xué)習(xí)某項技術(shù),從而真正回歸到自己學(xué)習(xí)的樂趣中來,為最終游戲的設(shè)計和實(shí)現(xiàn)奠定基礎(chǔ)。<BR><BR><BR><B>游戲開發(fā)--圖形圖像篇(一)</B><BR><BR>一個游戲的好壞誰說了算?<BR> 玩家。<BR> 玩家如何看一個游戲?<BR> 用眼睛。<BR> 那么這款游戲怎么樣?<BR> "畫面真棒!"<BR> …
…<BR><BR> 你的游戲做得再好,如果沒有一個很好的圖形效果,那展現(xiàn)在玩家眼前的東西將大打折扣。而且,你的游戲也不會得到很好的支持。為什么呢?因為你的游戲無需使用很好的顯示設(shè)備和圖形加速設(shè)備,硬件廠商不會理睬你的游戲。這也就和開篇所說的"游戲促進(jìn)相關(guān)產(chǎn)業(yè)的發(fā)展"的職責(zé)相悖了。所以,在寫一個游戲之前,想一想開發(fā)這個游戲需要什么技能,"磨刀不誤砍柴工"。讓我們開始吧,先學(xué)一學(xué)游戲的圖形開發(fā)。<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="游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園.files/GD-txtx_1.jpg" width=358
border=0></P></TD></TR></TBODY></TABLE>
<P><FONT
size=2>這個小程序的圖形顯示部分就是用GDI編寫的。<BR> 我們在編寫Windows應(yīng)用程序的時候,經(jīng)常會用到GDI/GDI+(Graghic
Deice
Interface,圖形設(shè)備接口)。GDI是Windows早期版本中包括的圖形設(shè)備接口,而GDI+是GDI的改進(jìn)版本,對GDI的現(xiàn)存性能進(jìn)行了優(yōu)化,而且增加了很多新性能。<BR><BR>GDI/GDI+的結(jié)構(gòu)如下圖:</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="游戲開發(fā)中心----游戲?qū)嶒炇?- 博客園.files/GD-txtx_2.gif" width=247
border=0></P></TD></TR></TBODY></TABLE>
<P><FONT
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -