图书目录

目    录

第1章  了解Windows Phone 7设备 / 1

1.1  最低配置 / 1

1.1.1  外观设计 / 2

1.1.2  屏幕分辨率 / 2

1.2  手机功能 / 2

1.2.1  电容式触控 / 3

1.2.2  传感器 / 3

1.2.3  数码相机 / 4

1.2.4  DirectX 9加速 / 5

1.2.5  正面按钮 / 5

1.2.6  QWERTY键盘 / 6

1.3  软件功能 / 6

1.3.1  Start和Lock屏幕 / 6

1.3.2  hub / 6

1.3.3  其他应用程序 / 8

1.4  小结 / 9

第2章  入门 / 11

2.1  获取所需工具 / 11

2.1.1  系统需求 / 12

2.1.2  开发人员的要求 / 12

2.1.3  获取的工具 / 12

2.2  XNA Game Studio 4.0 / 13

2.2.1  创建第一个项目 / 14

2.2.2  Windows Phone游戏和其他XNA游戏项目的区别 / 15

2.3  设置Windows Phone设备 / 18

2.4  使用Windows Phone Emulator / 18

2.5  使用命令行选项 / 21

2.6  小结 / 22

第3章  方向 / 23

3.1  设备方向 / 23

3.1.1  设置设备方向 / 23

3.1.2  检测设备方向 / 27

3.1.3  以全屏模式运行 / 27

3.2  加速计 / 29

3.3  小结 / 34

第4章  触控输入 / 35

4.1  触控事件的响应 / 35

4.1.1  触控界面概述 / 35

4.1.2  触控输入的检测 / 36

4.1.3  手势检测 / 40

4.1.4  触控游戏的设计 / 46

4.2  SIP / 48

4.3  小结 / 51

第5章  获取输入 / 53

5.1  创建输入管理系统 / 53

5.1.1  Input.cs / 53

5.1.2  GestureDe?nition.cs / 69

5.1.3  GameInput.cs / 70

5.1.4  TouchIndicator.cs / 76

5.1.5  TouchIndicatorCollection.cs / 79

5.2  使用输入管理系统 / 80

5.2.1  Actions.cs / 80

5.2.2  Game1.cs / 81

5.3  小结 / 86

第6章  状态 / 87

6.1  游戏状态 / 87

6.1.1  管理游戏状态 / 88

6.1.2  处理多层屏幕 / 108

6.2  手机硬件事件 / 109

6.2.1  检测Back按钮 / 109

6.2.2  重写Back按钮 / 109

6.3  游戏中断 / 110

6.3.1  通知与临时中断 / 111

6.3.2  游戏停止事件 / 114

6.4  保存游戏状态 / 114

6.5  小结 / 118

第7章  播放音乐 / 119

7.1  处理音频 / 119

7.1.1  使用MediaPlayer播放音频 / 119

7.1.2  SoundEffect / 125

7.2  XACT 3.0 / 129

7.3  录制音频 / 130

7.3.1  Microphone类 / 130

7.3.2  保存并检索捕获的音频 / 135

7.4  小结 / 137

第8章  综合应用:Drive & Dodge游戏 / 139

8.1  创建游戏 / 140

8.1.1  屏幕 / 140

8.1.2  输入包装类 / 164

8.1.3  添加声音和音乐 / 189

8.1.4  更多的屏幕 / 194

8.1.5  为游戏主屏幕编写代码 / 199

8.1.6  完成MainGame屏幕:连接精灵并使游戏可玩 / 206

8.1.7  保存分数 / 214

8.1.8  正确处理Back按钮 / 227

8.2  创建一个基本的游戏模板 / 231

8.2.1  只保留基本要素 / 231

8.2.2  创建模板 / 234

8.2.3  使用模板 / 234

8.3  小结 / 235

第9章  3D游戏 / 237

9.1  3D图形 / 237

9.1.1  为游戏创建3D模型 / 237

9.1.2  在游戏中使用3D模型 / 241

9.1.3  在Blender中为基本的3D模型添加纹理 / 243

9.1.4  执行3D变换 / 246

9.1.5  创建3D动画 / 248

9.1.6  Microsoft Skinning Sample / 253

9.2  设置效果 / 254

9.2.1  预置效果 / 255

9.2.2  使用Reach Graphics Demo / 256

9.3  小结 / 256

第10章  推送通知与振动功能 / 257

10.1  理解推送通知 / 257

10.1.1  raw通知 / 258

10.1.2  弹出式toast通知 / 266

10.1.3  磁贴通知 / 273

10.2  好用的振动功能 / 280

10.2.1  Microsoft.Devices命名空间 / 280

10.2.2  Environment类 / 281

10.2.3  VibrateController类 / 282

10.3  小结 / 284

第11章  创建和使用服务 / 285

11.1  使用Web服务 / 285

11.1.1  LiveToServeYou示例 / 286

11.1.2  ServeMe示例 / 290

11.2  全球高分榜系统 / 295

11.2.1  HighScoreService项目 / 295

11.2.2  ScoreMe项目 / 302

11.2.3  匿名Live ID / 303

11.2.4  HighScoreClient类 / 304

11.2.5  推送通知 / 305

11.2.6  HighScoreTester项目 / 309

11.2.7  测试高分榜服务 / 313

11.3  配对系统 / 314

11.3.1  MatchMaker项目 / 314

11.3.2  MatchMe项目 / 320

11.3.3  MatchMakerTester项目 / 325

11.4  处理HTTP请求 / 329

11.4.1  WeatherWitch项目 / 330

11.4.2  在游戏中使用RSS提要 / 333

11.4.3  基于REST的Web服务 / 333

11.5  小结 / 334

第12章  综合应用:Poker Dice with Friends游戏 / 335

12.1  初步准备 / 335

12.1.1  服务流程与屏幕流程 / 336

12.1.2  创建Poker Dice服务 / 336

12.1.3  创建PokerDiceTester应用程序 / 350

12.2  创建Poker Dice with Friends游戏 / 356

12.2.1  创建游戏项目模板 / 356

12.2.2  修改模板 / 357

12.2.3  增强ScreenStateSwitchboard类 / 359

12.2.4  创建GameInformation 和DiceGame辅助类 / 367

12.2.5  创建游戏大厅 / 370

12.2.6  创建GameInfo界面 / 382

12.2.7  添加骰子模型 / 390

12.2.8  创建MainGame界面 / 400

12.2.9  创建DiceSelect界面 / 403

12.3  增强游戏 / 409

12.4  小结 / 410

第13章  Location API / 411

13.1  理解和使用Location API / 411

13.2  使用Location Services的最佳实践 / 411

13.2.1  得到用户许可 / 411

13.2.2  电量消耗 / 412

13.2.3  精确度级别 / 412

13.2.4  移动阈值 / 412

13.3  在游戏中使用Location Services / 412

13.3.1  CivicAddress类 / 412

13.3.2  CivicAddressResolver类 / 413

13.3.3  GeoCoordinate类 / 418

13.3.4  GeoPosition类 / 424

13.4  小结 / 424

第14章  启动器和选择器 / 425

14.1  常用的启动器和选择器 / 425

14.2  NowPictureThis / 426

14.2.1  CameraCaptureTask / 427

14.2.2  Application Deployment工具 / 429

14.2.3  测试NowPictureThis / 430

14.2.4  PhotoChooserTask / 431

14.3  用于消息传递任务的类 / 433

14.3.1  SmsComposeTask / 433

14.3.2  EmailComposeTask / 434

14.3.3  EmailAddressChooserTask / 434

14.4  MediaPlayerLauncher / 435

14.4.1  Controls属性 / 436

14.4.2  Location属性 / 436

14.4.3  Media属性 / 437

14.5  小结 / 437

第15章  综合应用:Picture Puzzle游戏 / 439

15.1  Picture Puzzle游戏 / 439

15.2  设计屏幕流 / 440

15.3  创建拼图 / 440

15.3.1  创建Title屏幕 / 441

15.3.2  增强ScreenStateSwitchboard类 / 443

15.3.3  创建NewPuzzle屏幕 / 447

15.3.4  拼图块 / 452

15.3.5  管理状态对象 / 464

15.3.6  创建SelectPuzzle屏幕 / 465

15.3.7  创建可玩的游戏屏幕 / 470

15.3.8  制作InGameMenu屏幕 / 474

15.3.9  创建PuzzleComplete屏幕 / 477

15.4  改进游戏 / 479

15.5  小结 / 479

第16章  后续工作 / 481

16.1  试用模式 / 481

16.1.1  了解试用模式 / 481

16.1.2  检测试用模式 / 482

16.2  将游戏固定到Start区域 / 489

16.3  发布 / 491

16.3.1  要求 / 491

16.3.2  提交 / 491

16.3.3  代码签名 / 493

16.4  到哪里获取帮助 / 494

16.4.1  论坛 / 494

16.4.2  博客 / 494

16.4.3  搜索 / 494

16.5  小结 / 495