惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - JulioZou

读书:《Joel软件随想录》——“囚徒的困境”! 《XNA高级编程:Xbox 360和Windows》4-7 《XNA高级编程:Xbox 360和Windows》4-6 《XNA高级编程:Xbox 360和Windows》4-5 《XNA高级编程:Xbox 360和Windows》4-4 《XNA高级编程:Xbox 360和Windows》4-3 《XNA高级编程:Xbox 360和Windows》4-2 《XNA高级编程:Xbox 360和Windows》4-1 《XNA高级编程:Xbox 360和Windows》3-10 《XNA高级编程:Xbox 360和Windows》3-9 《XNA高级编程:Xbox 360和Windows》3-8 《XNA高级编程:Xbox 360和Windows》3-7 《XNA高级编程:Xbox 360和Windows》3-6 《XNA高级编程:Xbox 360和Windows》3-5 《XNA高级编程:Xbox 360和Windows》3-4 《XNA高级编程:Xbox 360和Windows》3-3 - JulioZou 《XNA高级编程:Xbox 360和Windows》3-2 《XNA高级编程:Xbox 360和Windows》3-1 《XNA高级编程:Xbox 360和Windows》2-6/2-7
《XNA高级编程:Xbox 360和Windows》5-1
JulioZou · 2009-01-28 · via 博客园 - JulioZou

第五章 编写自己的XNA图像引擎

5.1本章概览


     

在本书的第一部分,您学习了XNA Framework,使用SpriteBatch类渲染2D图像,并且做了几个有趣的小游戏。现在,是时候探索更加令人兴奋的3D图像编程世界了。制作3D游戏比拼装一个2D游戏需要更多的工作量,如果没有3D图像技术的飞速发展,很多游戏都是不可能完成的。有些游戏也可以是2D的,例如即时战略游戏,而且大多数成功的即时战略游戏(例如星际争霸、魔兽争霸、命令与征服、帝国时代等)都证实了2D游戏仍然很受欢迎。但如果您看一下射击类游戏,没有3D图像的支持它们都是不可能实现的,并且通常图像质量越好、越逼真,游戏也就越好玩。其它一些游戏类型,比如横板闯关类(beat-'em-ups、冒险类、体育竞技类等等,也都获益于近几年图像技术的进步。当然,在10年或者20年前,Pong以及早期的Tennis游戏也都很受欢迎,但它们都无法和今天的体育竞技类游戏相提并论。      XNA是一个很棒的快速创建2D游戏的框架,即使您是个人,也完全有可能快速鼓捣出一个游戏构思,自己做几张图片或者找人帮您做图片,然后用不了几个星期或者几个月就可以编写出整个游戏。      但是,大多数游戏开发者都更加热衷于制作3D游戏。而且,几乎每个人都常犯一个错误,那就是拿他们自己的游戏创意和那些大的游戏工作室花费好几年才完成的拥有AAA头衔的最成功的游戏作品相比较。如果您是个人,您根本不肯能和EA出的游戏相竞争,即使您认为他们的游戏还不够好,因为他们拥有超过100人的经验丰富的游戏工作室来开发游戏。      但这都无关紧要,我们大多数人进入游戏开发领域只因为我们喜欢,有时还因为我们相信我们能比其他人做得更好。好的一方面是,虽然制作一个成熟的可以和AAA级游戏相竞争的3D游戏很困难,但您必须要从某个地方开始,随着我们的不断讲解,步入3D编程世界会变得越来越容易。有很多大型网站、学习指南、开发框架和书籍可以快速帮助那些即使是没有什么开发经验的编程人员进入制作3D游戏图像的大门。      既然有了这么多的学习资源,我不会把重点放在讲解诸如数学基础、如何使用矩阵或者其它有关3D图像的基础知识等方面。因为对于很多已经了解这些知识的编程人员来说,介绍这些东西会很无聊,而且这也会占用更多的篇幅。就如我在第一章中告诉您的,如果您对C#编程没什么经验,那么您应该先从阅读介绍C#的书籍开始。如果您真的很想了解有关3D图像的基础知识,那么就找本书看看吧。如果您之前有使用Direct3D或者OpenGL方面的经验,那您应当已经了解这些基础了(希望大多数读者都是这样),就可以开始学习本章的内容了。      本章仍使用了典型的学习路线,即先写需求,并针对这些需求创建单元测试,然后再深入到每一个需要的新的类的细节中。正如本章标题所说,您的目标是创建自己的图像引擎,并为本书剩余的项目和游戏准备好基础框架。上一章的Tetris游戏已经使用了很多有用的辅助类,有些新的图像类要在本章进行重构,另外还会添加几个新的类。重构的意思是,有些类需要重写以满足新的需求。