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

推荐订阅源

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》5-1 《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 《XNA高级编程:Xbox 360和Windows》3-2 《XNA高级编程:Xbox 360和Windows》2-6/2-7
《XNA高级编程:Xbox 360和Windows》3-1
JulioZou · 2009-01-28 · via 博客园 - JulioZou

第三章 辅助类

3.1本章概览

       我通常会把很多有用的小工具和类集中放在一个Helper命名空间中,慢慢地它们会变得非常有用。对于一个单一的项目来说,它们或许并不是最重要或最有使用价值的代码,但因为它们会被反复地使用,所以不管引擎的其它部分是否发生变化,辅助类总是引擎或项目中最稳定的部分。大多数辅助类和游戏编程都没有太大的关系,它们可以用于其它项目,甚至是Web应用。

       正如您在前一章看到的,不需要使用任何辅助类,也不需要使用任何额外文件和类,您就可以写出一个完整的游戏。但是随着项目的规模越来越大,您会发现大量的过去曾经解决了的重复模式和类似问题会再次出现。通常地,在XNA中大多数被重复使用的功能都是图形组件(graphic component),在下一章和本书的第二部分您将学习到更多有关游戏组件和图形引擎的知识。而本章则把重点放在最基本的功能上,比如记录消息(log message)、访问游戏内容(game content)、做单元测试、如何产生随机数字,以及其它很多小问题。

       为了让本章的内容更加有趣,您还将创建另一个小游戏,纯粹是为了好玩。虽然并不是所有的辅助类都会被使用,但是构建一个游戏引擎并不是一件简单的工作。所以,本章和下一章将从设计辅助类和游戏组件开始,这样在第二部分开发您自己的图形引擎就会容易一些。Please note that I did not write the helper classes in the way they are presented in this chapter; they evolved over the course of the past couple of yearsJust add functionally or your own helper classes whenever you need them。当您解决了一个问题之后,觉得它不会再被使用,就留着它不用再管它了。但当您发现要把一些功能代码复制到一个新的项目中或者另一个类中,而且会复制很多次,您就应该考虑把其中的处理逻辑提取出来放到一个特殊的类中。

       另外,您还将学习到更多有关前几章中使用的内容管道的知识,来支持Xbox 360。可以直接加载textureshader而不使用内容管道,但只能在Windows平台上这么做。如果您想做一个跨平台的游戏,就得确保在WindowsXbox 360上所有的东西都能编译并正常工作。本书中您将一直这么做。

       本章结尾您将快速开发一个Breakout游戏的克隆版本,而且因为您先写了所有的辅助类,实现它要比在前几章中简单了许多。例如,使用SpriteHelper类来渲染sprite会非常简单。下一章您将接触到更多可以改进PongBreakout游戏的辅助类和游戏组件。