Thông tin tài liệu
ptg999
www.it-ebooks.info
ptg999
800 East 96th Street, Indianapolis, Indiana, 46240 USA
Jonathan S. Harbour
Sams Teach Yourself
24
in
Hours
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 pur-
chases or special sales. For more information, please contact
U.S. Corporate and Government Sales
1-800-382-3419
corpsales@pearsontechgroup.com
For sales outside of the U.S., please contact
International Sales
international@pearsoned.com
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
[...]... Started with Visual C# 2010 for Windows Phone 21 HOUR 3 Printing Text 39 HOUR 4 Getting User Input 51 HOUR 5 Drawing Bitmaps 59 www.it-ebooks.info 9 This page intentionally left blank www.it-ebooks.info Getting Started with Windows Phone 7 HOUR 1 Making Games for Windows Phone 7 What You’ll Learn in This Hour: Getting started with Windows Phone 7 Windows Phone 7 as a game platform? History of the... 2003 CE 4.2 Windows Mobile 2003 2004 CE 4.2 Windows Mobile 2003 SE 2005 CE 5.0 Windows Mobile 5 20 07 CE 5.2 Windows Mobile 6 www.it-ebooks.info 16 HOUR 1: Making Games for Windows Phone 7 TABLE 1.1 History of Windows Mobile Year Product Name 2008 CE 5.2 Windows Mobile 6.1 2009 CE 5.2 Windows Mobile 6.5 2010 By the Way Core CE 6.0 Windows Phone 7 Windows Phone 7 was planned for release in 2009 with... animation, since this seems to be the main focus of games for this platform This book is not a “geeky” or “gadget” guide to the Windows Phone 7 platform There are no hours devoted to the Windows Phone 7 hardware capabilities, and there is no overview of available applications in the marketplace This book is entirely focused on programming games with XNA Game Studio 4.0, targeting the Windows Phone 7 platform,... of memory copying) Many developers worked on sprite renderers and game libraries using the Game API, and a book was www.it-ebooks.info 14 HOUR 1: Making Games for Windows Phone 7 published on the subject—Pocket PC Game Programming: Using the Windows CE Game API, by Prima-Tech in 2001 Some copies are still floating around if you’re curious about “the early days” and the predecessor of WP7 At the time,... Visual C++, but today we’re developing games for WP7 using XNA and C# In that 2001 book is a rudimentary game library surrounding WinMain() and the other Windows core code necessary when working in C++, as well as integrated Game API built into a series of classes I created one published game using the library from that early book, an indie game called Perfect Match, shown in Figure 1.2 It was sold on mobile... book www.it-ebooks.info This page intentionally left blank www.it-ebooks.info Audience and Organization Introduction This book was written with the beginner in mind Each of the 24 hours in this book is short and succinct, usually teaching one basic subject and building on previous hours The subjects covered in this book are geared primarily toward rendering on the small Windows Phone 7 screen A lot of... a thumb or another finger will do the trick? The online capabilities of the Sega Dreamcast video game console were made possible thanks to Windows CE If you look at the front of the Dreamcast case, you will find a Windows CE logo Did you Know? To get technical, Windows Phone 7 is based on the Windows Mobile operating system, a new name for the classic Windows CE operating system Windows CE goes back...x Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours HOUR 21: Finite State Gameplay 295 Finite State Gameplay in Theory 295 Testing Game State 299 Summary Q&A 308 ... development! www.it-ebooks.info 9 10 HOUR 1: Making Games for Windows Phone 7 Before learning all about XNA Game Studio 4.0, Visual C# 2010, projects, configurations, Xbox Live, App Hub, and other great things that will interest a game developer, we need to first understand this new platform Windows Phone 7, which we might call WP7 for short, is an operating system for smartphone devices In “the old days,”... Xbox 360 game to Windows Phone 7 So what is Windows Phone 7 all about? Obviously, since you’re reading this book, you are interested in programming games for the device That goes without saying, but what is development for this platform really like? What’s it all about? We have to ask ourselves these questions because developing a game that you want to be taken seriously requires a pretty big investment . 323
24 The Black Hole Game 3 37
Index 359
iv
Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours
www.it-ebooks.info
ptg999
Table of Contents
Introduction. 335
HOUR 24: The Black Hole Game 3 37
Adding the Finishing Touches 3 37
Summary 3 57
Q&A 3 57
Workshop 3 57
Index 359
x
Sams Teach Yourself Windows Phone 7 Game
Ngày đăng: 06/03/2014, 09:22
Xem thêm: Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours pot, Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours pot