【WP7-3】第一个Windows Phone应用程序

  作为Hands On Lab的第2课,这个课程的设计是非常经典的,他通过了一个我们非常熟悉的拼图小游戏的开发,来向大家展示了Phone7简单游戏开发的过程。整个练习做下来十分的流畅,除了游戏本身的逻辑(这一部分真的很蛋疼啊,本来尝试着去想去理解这一部分代码的内容,最后还是放弃了,哎,写游戏逻辑代码的程序员真是伤不起啊。),其他部分都还是比较简单的的。主要包括以下几个部分:

  1.未处理的异常的处理,主要的目的就是如果应用程序中有未处理的异常,那么这里就是防止应用程序崩溃的最后一道防线。可以在项目中的App.xaml(类似Asp.net中的Global.asax)文件中一个Application_UnhandledException事件来处理,这里是把异常的信息显示到ErrorPage页面。
  在ErrorPage页面需要放一个TextBox来显示错误。

public partial class ErrorPage : PhoneApplicationPage

    {

        public ErrorPage ()

        {

            InitializeComponent();

        }

        public static Exception Ex;

        protected override void OnNavigatedTo(NavigationEventArgs e)

        {

            ErrorText.Text = Ex.ToString();

            base.OnNavigatedTo(e);

        }

    }

  修改App.xaml.cs中的Application_UnhandledException事件中的代码

// Code to execute on Unhandled Exceptions

        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)

        {

            if (System.Diagnostics.Debugger.IsAttached)

            {

                // An unhandled exception has occurred; break into the debugger

                System.Diagnostics.Debugger.Break();

            }

            e.Handled = true;

            Error.Ex = e.ExceptionObject;

            (RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source =

                new Uri("/Error.xaml", UriKind.Relative);

        }

  结果如图

  【WP7-3】第一个Windows Phone应用程序

  2.游戏逻辑 &界面. 游戏逻辑和具体这里就不再记录了,关于Phone7的一些知识都是很普通的API的调用,结果如图所示

  【WP7-3】第一个Windows Phone应用程序

  3.动画效果. Silveright中的动画在第一个课程中已经在Blend中做过了,他主要就是一个预先做好的资源,在使用的时候加载就可以了,具体还需要深入学习Silverlight才能体会他的原理。(当你完成拼图后,图片会播放动画,旋转一圈)

  【WP7-3】第一个Windows Phone应用程序

  4.状态存储

  在课程中实现了一个IsolatedStorageHelper的类,用于序列化游戏的状态,以便下次游戏时恢复(俗称"存档")关于这一块也是非常常用和需要深入的内容,可以参考这里

你可能感兴趣的:(windows phone)