Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours pot
Nội dung xem thử
Mô tả chi tiết
ptg999
www.it-ebooks.info
ptg999
800 East 96th Street, Indianapolis, Indiana, 46240 USA
Jonathan S. Harbour
SamsTeachYourself
Hours
in24
Windows®
Phone 7
Game Programming
www.it-ebooks.info
ptg999
Sams Teach Yourself Windows®Phone 7 Game Programming in 24 Hours
Copyright © 2012 by Sams Publishing
All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, or
transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without
written permission from the publisher. No patent liability is assumed with respect to the use of
the information contained herein. Although every precaution has been taken in the preparation of
this book, the publisher and author assume no responsibility for errors or omissions. Nor is any
liability assumed for damages resulting from the use of the information contained herein.
ISBN-13: 978-0-672-33554-9
ISBN-10: 0-672-33554-9
Library of Congress Cataloging-in-Publication Data is on file.
Printed in the United States of America
First Printing November 2011
Trademarks
All terms mentioned in this book that are known to be trademarks or service marks have been
appropriately capitalized. Sams Publishing cannot attest to the accuracy of this information. Use
of a term in this book should not be regarded as affecting the validity of any trademark or service
mark.
Warning and Disclaimer
Every effort has been made to make this book as complete and as accurate as possible, but no
warranty or fitness is implied. The information provided is on an “as is” basis. The author and the
publisher shall have neither liability nor responsibility to any person or entity with respect to any
loss or damages arising from the information contained in this book.
Bulk Sales
Sams Publishing offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales. For more information, please contact
U.S. Corporate and Government Sales
1-800-382-3419
For sales outside of the U.S., please contact
International Sales
Editor-in-Chief
Greg Wiegand
Executive Editor
Neil Rowe
Development
Editor
Mark Renfrow
Managing Editor
Kristy Hart
Project Editor
Andrew Beaster
Copy Editor
Cheri Clark
Indexer
Ken Johnson
Proofreader
Sarah Kearns
Technical Editor
Jim Perry
Publishing
Coordinator
Cindy Teeters
Book Designer
Gary Adair
Composition
Nonie Ratcliff
www.it-ebooks.info
ptg999
Contents at a Glance
Introduction................................................................................ 1
Part I: Introduction
HOUR 1 Introduction to Windows Phone 7.................................................. 9
2 Getting Started with Visual C# 2010 for Windows Phone .................. 21
3 Printing Text ............................................................................. 39
4 Getting User Input...................................................................... 51
5 Drawing Bitmaps ....................................................................... 59
Part II: Sprite Programming
HOUR 6 Treating Bitmaps as Sprites .......................................................... 73
7 Transforming Sprites................................................................... 89
8 More Sprite Transforms: Rotation and Scaling ............................... 101
9 Advanced Linear and Angular Velocity ........................................ 117
10 When Objects Collide................................................................ 131
11 Managing Lots of Sprites ........................................................... 149
12 Sprite Color Animation ............................................................. 163
13 Sprite Transform Animation....................................................... 181
14 Sprite Frame Animation ............................................................ 197
15 Transforming Frame Animations ................................................ 213
16 Drawing with Z-Index Ordering.................................................. 231
Part III: Gameplay
HOUR 17 Using Location Services (GPS) ..................................................... 241
18 Playing Audio.......................................................................... 255
19 Reading and Writing Files Using Storage ...................................... 265
20 Creating a Graphical User Interface............................................. 277
21 Finite State Gameplay ............................................................... 295
www.it-ebooks.info
ptg999
22 The Physics of Gravity............................................................... 311
23 Rocket Science: Acceleration....................................................... 323
24 The Black Hole Game................................................................ 337
Index ..................................................................................... 359
iv
Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours
www.it-ebooks.info
ptg999
Table of Contents
Introduction 1
Audience and Organization .................................................................. 1
Conventions Used in This Book .............................................................. 5
Resource Files ...................................................................................... 5
Part I: Introduction
HOUR 1: Making Games for Windows Phone 7 9
Getting Started with Windows Phone 7 .................................................... 9
Windows Phone 7 as a Game Platform? ................................................ 10
History of the Platform ........................................................................ 11
Hardware Specifications ...................................................................... 16
Summary .......................................................................................... 17
Q&A ................................................................................................ 18
Workshop.......................................................................................... 18
HOUR 2: Getting Started with Visual C# 2010 for Windows Phone 21
Visual C# 2010 Express ........................................................................ 21
Using Silverlight for WP7 .................................................................... 24
XNA Game Studio .............................................................................. 30
XNA or Silverlight: What’s the Verdict? .................................................. 37
Summary .......................................................................................... 37
Q&A ................................................................................................ 38
Workshop.......................................................................................... 38
HOUR 3: Printing Text 39
Creating the Font Demo Project ............................................................ 39
Adding a New Font to the Content Project .............................................. 41
Learning to Use the SpriteFont Class ...................................................... 45
www.it-ebooks.info
ptg999
Printing Text...................................................................................... 46
Summary .......................................................................................... 48
Q&A ................................................................................................ 48
Workshop.......................................................................................... 49
HOUR 4: Getting User Input 51
Exploring Windows Phone Touchscreen Input ........................................ 51
Simulating Touch Input ...................................................................... 52
Using Gestures on the Touchscreen ........................................................ 55
Summary .......................................................................................... 56
Q&A ................................................................................................ 57
Workshop.......................................................................................... 57
HOUR 5: Drawing Bitmaps 59
Adding a Bitmap File to an XNA Project ................................................ 59
Loading a Bitmap File as an Asset ........................................................ 62
Drawing a Bitmap with SpriteBatch ...................................................... 63
Drawing Bitmaps with Transparency .................................................... 65
Summary .......................................................................................... 68
Q&A ................................................................................................ 68
Workshop.......................................................................................... 69
Part II: Sprite Programming
HOUR 6: Treating Bitmaps as Sprites 73
Bringing Bitmaps to Life ...................................................................... 73
Drawing Lots of Bitmaps...................................................................... 74
Running into Limits with Global Variables.............................................. 76
Creating a Simple Sprite Class .............................................................. 79
Summary .......................................................................................... 87
Q&A ................................................................................................ 88
Workshop.......................................................................................... 88
vi
Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours
www.it-ebooks.info
ptg999
HOUR 7: Transforming Sprites 89
Translating (Moving) a Sprite .............................................................. 89
Using Velocity as Movement Over Time.................................................. 91
Moving Sprites in a Circle .................................................................... 94
Summary .......................................................................................... 98
Q&A ................................................................................................ 98
Workshop.......................................................................................... 98
HOUR 8: More Sprite Transforms: Rotation and Scaling 101
Rotating a Sprite .............................................................................. 101
Scaling a Sprite ................................................................................ 108
Summary ........................................................................................ 114
Q&A .............................................................................................. 114
Workshop ........................................................................................ 115
HOUR 9: Advanced Linear and Angular Velocity 117
Calculating Angular Velocity .............................................................. 117
“Pointing” a Sprite in the Direction of Movement .................................. 124
Summary ........................................................................................ 129
Q&A .............................................................................................. 129
Workshop ........................................................................................ 129
HOUR 10: When Objects Collide 131
Boundary Collision Detection.............................................................. 131
Radial Collision Detection .................................................................. 139
Assessing the Damage ...................................................................... 141
Summary ........................................................................................ 147
Q&A .............................................................................................. 147
Workshop ........................................................................................ 147
HOUR 11: Managing Lots of Sprites 149
Robot Trash Collectors ...................................................................... 149
Summary ........................................................................................ 160
Q&A .............................................................................................. 160
Workshop ........................................................................................ 161
Contents
vii
www.it-ebooks.info
ptg999
HOUR 12: Sprite Color Animation 163
Getting Started with Color Animation .................................................. 163
Color Animation .............................................................................. 167
Summary ........................................................................................ 178
Q&A .............................................................................................. 178
Workshop ........................................................................................ 179
HOUR 13: Sprite Transform Animation 181
Adding Transform Support to the Animation Class ................................ 181
Combining Multiple Animations ........................................................ 189
Summary ........................................................................................ 194
Q&A .............................................................................................. 194
Workshop ........................................................................................ 195
HOUR 14: Sprite Frame Animation 197
Drawing Animation Frames................................................................ 198
Creating the Frame Animation Demo .................................................. 202
Summary ........................................................................................ 209
Q&A .............................................................................................. 210
Workshop ........................................................................................ 210
HOUR 15: Transforming Frame Animations 213
Drawing Frames with Color Mods ........................................................ 213
Drawing Frames with Transform Mods ................................................ 218
Animation Mods Demo...................................................................... 224
Summary ........................................................................................ 228
Q&A .............................................................................................. 228
Workshop ........................................................................................ 229
HOUR 16: Drawing with Z-Index Ordering 231
Prioritized Drawing .......................................................................... 231
Summary ........................................................................................ 237
Q&A .............................................................................................. 237
Workshop ........................................................................................ 238
viii
Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours
www.it-ebooks.info
ptg999
Part III: Gameplay
HOUR 17: Using Location Services (GPS) 241
GPS 101 .......................................................................................... 241
Windows Phone Location Services........................................................ 243
Simulating Position Changes .............................................................. 245
Creating the Geo Position Demo.......................................................... 249
Summary ........................................................................................ 252
Q&A .............................................................................................. 252
Workshop ........................................................................................ 253
HOUR 18: Playing Audio 255
Getting Started with Windows Phone Audio .......................................... 255
Creating the Audio Demo Program...................................................... 259
Summary ........................................................................................ 262
Q&A .............................................................................................. 262
Workshop ........................................................................................ 263
HOUR 19: Reading and Writing Files Using Storage 265
Using Windows Phone Isolated Storage ................................................ 265
Creating the Storage Demo Example.................................................... 270
Summary ........................................................................................ 274
Q&A .............................................................................................. 275
Workshop ........................................................................................ 275
HOUR 20: Creating a Graphical User Interface 277
Creating the GUI Controls .................................................................. 278
Demonstrating the GUI Controls.......................................................... 287
Summary ........................................................................................ 292
Q&A .............................................................................................. 292
Workshop ........................................................................................ 292
Contents
ix
www.it-ebooks.info
ptg999
HOUR 21: Finite State Gameplay 295
Finite State Gameplay in Theory ........................................................ 295
Testing Game State............................................................................ 299
Summary ........................................................................................ 308
Q&A .............................................................................................. 308
Workshop ........................................................................................ 309
HOUR 22: The Physics of Gravity 311
Simulating Gravity............................................................................ 311
The Gravity Demo ............................................................................ 314
Summary ........................................................................................ 320
Q&A .............................................................................................. 321
Workshop ........................................................................................ 321
HOUR 23: Rocket Science: Acceleration 323
Building the Game ............................................................................ 323
Summary ........................................................................................ 334
Q&A .............................................................................................. 335
Workshop ........................................................................................ 335
HOUR 24: The Black Hole Game 337
Adding the Finishing Touches ............................................................ 337
Summary ........................................................................................ 357
Q&A .............................................................................................. 357
Workshop ........................................................................................ 357
Index 359
x
Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours
www.it-ebooks.info
ptg999
About the Author
Jonathan S. Harbour has been programming video games since the 1980s. His first game
system was an Atari 2600, which he played with, disassembled, on the floor of his room as
a kid. He has written on numerous subjects such as C++, C#, Basic, Java, DirectX, Allegro,
Lua, DarkBasic, Pocket PC, and game consoles. He is the author of another recent book
titled XNA Game Studio 4.0 for Xbox 360 Developers. He holds a Master’s degree in
Information Systems Management. Visit his web log and game development forum at
www.jharbour.com/forum, and his Facebook page at www.facebook.com/jharbourcom.
www.it-ebooks.info
ptg999
Dedication
Dedicated to FASA Corporation founders Jordan Weisman
and L. Ross Babcock III, whose games continue to inspire.
Acknowledgments
Thank you to the editorial staff at Sams for their hard work in getting this book polished
and into print: Neil Rowe, Mark Renfrow, Andy Beaster, Cheri Clark, Ken Johnson, Sarah
Kearns, Nonie Ratcliff, and a special thanks to Jim Perry for his technical advice. I enjoyed
working with all of you and hope we can do it again soon.
www.it-ebooks.info
ptg999
We Want to Hear from You!
As the reader of this book, you are our most important critic and commentator. We value
your opinion and want to know what we’re doing right, what we could do better, what
areas you’d like to see us publish in, and any other words of wisdom you’re willing to pass
our way.
You can email or write me directly to let me know what you did or didn’t like about this
book—as well as what we can do to make our books stronger.
Please note that I cannot help you with technical problems related to the topic of this book, and
that due to the high volume of mail I receive, I might not be able to reply to every message.
When you write, please be sure to include this book’s title and author, as well as your name
and phone or email address. I will carefully review your comments and share them with the
author and editors who worked on the book.
Email: [email protected]
Mail: Neil Rowe
Executive Editor
Sams Publishing
800 East 96th Street
Indianapolis, IN 46240 USA
Reader Services
Visit our website and register this book at www.samspublishing.com/register for convenient
access to any updates, downloads, or errata that might be available for this book.
www.it-ebooks.info
ptg999
This page intentionally left blank
www.it-ebooks.info