1. Trang chủ
  2. » Công Nghệ Thông Tin

a0009 xna 2 0 game programming recipe a problem solution approac morebook vn 6339 2

7 5 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề XNA 2.0 Game Programming Recipes: A Problem-Solution Approach
Tác giả Riemer Grootjans
Người hướng dẫn Lead Editor: Ewan Buckingham, Technical Reviewer: Fabio Claudio Ferracchiati, Project Manager: Beth Christmas, Copy Editor: Kim Wimpsett
Thể loại Sách
Năm xuất bản 2008
Thành phố New York
Định dạng
Số trang 7
Dung lượng 159,7 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval

Trang 2

XNA 2.0 Game

Programming Recipes

A Problem-Solution Approach

■ ■ ■

Riemer Grootjans

Trang 3

XNA 2.0 Game Programming Recipes: A Problem-Solution Approach

Copyright © 2008 by Riemer Grootjans

All rights reserved No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.

ISBN-13 (pbk): 978-1-59059-925-9

ISBN-10 (pbk): 1-59059-925-X

ISBN-13 (electronic): 978-1-4302-0514-2

Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1

Trademarked names may appear in this book Rather than use a trademark symbol with every occurrence

of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

Lead Editor: Ewan Buckingham

Technical Reviewer: Fabio Claudio Ferracchiati

Editorial Board: Clay Andres, Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell,

Jonathan Gennick, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Frank Pohlmann,

Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh

Project Manager: Beth Christmas

Copy Editor: Kim Wimpsett

Associate Production Director: Kari Brooks-Copony

Production Editor: Ellie Fountain

Compositor: Susan Glinert

Proofreader: April Eddy

Indexer: Broccoli Information Management

Artist: April Milne

Cover Designer: Kurt Krames

Manufacturing Director: Tom Debolski

Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013 Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders-ny@springer-sbm.com, or visit http://www.springeronline.com.

For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 94705 Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http:// www.apress.com.

Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use eBook versions and licenses are also available for most titles For more information, reference our Special Bulk Sales–eBook Licensing web page at http://www.apress.com/info/bulksales.

The information in this book is distributed on an “as is” basis, without warranty Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly

by the information contained in this work.

The source code for this book is available to readers at http://www.apress.com.

Trang 4

To Elisa, the most lovely woman I know Without your love and support,

this would not have been possible.

To my parents, for giving me each and every opportunity.

To my friends and co-workers, for their support and laughs.

Trang 5

Contents at a Glance

About the Author xi

About the Technical Reviewer xiii

Acknowledgments xv

Introduction xvii

CHAPTER 1 Getting Started with XNA 2.0 1

CHAPTER 2 Setting Up Different Camera Modes in Your 3D World 25

CHAPTER 3 Working with 2D Images/Textures in XNA 2.0 145

CHAPTER 4 Working with Models 247

CHAPTER 5 Getting the Most Out of Vertices 355

CHAPTER 6 Adding Light to Your Scene in XNA 2.0 499

CHAPTER 7 Adding Sounds to Your XNA 2.0 Project 559

CHAPTER 8 Networking in XNA 2.0 571

INDEX 599

Trang 6

■I N D E X

starting from VertexBuffer and

IndexBuffer, 395–396

for structure rendered as TriangleList,

393–394

for structure rendered as TriangleStrip,

394–395

of triangle, 392

writing custom content importer, 439

calculating collision point between

pointer and terrain, 432

Intermediate class, 434

view frustum, 26–27, 33

View matrix, 14, 16, 26, 29, 42, 47, 50, 357

viewAngle variable, 553

viewMatrix node, 91

viewMatrix variable, 40–41

ViewProjection matrix, 212, 242, 542

Visual Studio 2005, 2

W

WakeUp method, 168

walls, collision with, 60

.wav sound files, 559–563

WaveBank method, 562

waves, 560

while loop, 94, 400–401, 404, 415–417,

419–420, 447–448

world matrices, 504

ensuring correct lighting when using,

518–519

objects in sight of camera, 54–57

setting different world matrices for

different objects, 252–258

combining multiple

transformations, 254

order of matrix multiplication, 254–258

overview, 252–254

updating, 93–95

worldMatrix node, 91

worldMatrix property, 86 worldMatrix variable, 85 WorldViewProjection matrix, 139, 239 Wrap method, 373

Wrapping mode, 372 Write method, 316, 325, 423, 425, 585 WriteBone method, 279–281

WriteModelMesh method, 279–281 WriteModelStructure method, 279–281

X

.x file, 248 XAct, 559 xAllowedRotDir variable, 212 xAmbient variable, 519 xap file, 561

xBlurSize variable, 127–128 Xbox 360, deploying games on, 6–8 connecting Xbox 360 and PCs, 7 Creators Club licenses, 7 generating projects from existing XNA 2.0 projects, 8

installing XNA Game Studio Connect, 7 overview, 6

pairing PCs and Xbox 360, 7 Xbox Live accounts, 6 Xbox Live accounts, setting up, 6 Xbox Live Marketplace, 6 xCamUp parameter, 216 xCamUp variable, 215 xConeAngle variable, 530 xConeDecay variable, 530 xConeDirection variable, 529 xgs binary file, 561

XImporter method, 184 xLightDirection parameter, 523 xLightStrength value, 534

Trang 7

626 ■I N D E X

xLightStrength variable, 533

xMirrorTexture variable, 238–242, 245–246

XML file, loading data from, 439–445

creating XNA-compatible XML file from

existing object, 444–445 defining custom MapData class, 442

defining TypeReader capable of serializing

object of MapData class, 443 defining TypeWriter capable of serializing

object of MapData class, 442–443 overview, 439–442

XmlSerializer class, 20, 23

XNA, 470, 481–482

XNA Game Studio 2.0, 1–24

deploying games

on PCs, 8–10

on Xbox 360, 6–8

.fx HLSL files, 5

game loop timing, 10–11

GameComponent class, 11–19

changing updating order of, 18–19

DrawableGameComponent class, 12–13

making subscribe to interfaces, 16–17

overview, 11–12, 15–16

subscribing to ICameraInterface

service, 17–18 using GameComponent class, 14–15

using multiple GameComponents, 18

installing, 1–3

overview, 1

predefined methods, 4–5

saving/loading data, 19–24 creating StorageDevice method asynchronously, 20–22 loading data from disks, 23–24 overview, 20

saving data to disks, 22 starting new projects, 3 XNA Game Studio Connect program, 6–8 XNA Game Studio Device Center, 7 XNA project, accessing data in, 326 XNA-compatible XML file, creating from existing object, 444–445

<XNAContent> tag, 440 XNA-to-HLSL variables, 457–474 XNAUtils class, 95–96

XNAUtils file, 266 xnb files, 183–185, 193, 421 xPreviousShadingMapContents variable, 555 xRelative value, 411

xTexStretch variable, 465 xTexture variable, 298, 553 xTime variable, 121, 224–225, 227, 476 xWaveHeights variable, 474–475, 477, 482–483

xWaveLengths variable, 474–475, 477, 482–483

xWaveSpeeds variable, 475

Z

z-buffer (or depth buffer), 29, 32–33, 72, 230 zRelative value, 411

Ngày đăng: 04/12/2022, 09:45