游戏的流程和循环 (1)游戏开始的地方

已经做了大量的准备工作了,让我们开始游戏吧。

     一个疑问,在Page.xaml中并没有设置大小,那么会在哪里设置场景大小呢?

    首先来到游戏开始的地方,没错,一切都是从这里开始的—— App.xaml.cs。

    public App()

      {

           ... 

           this.Startup += this.Application_Startup;

            ...          

      }

    注意!这个事件函数的参数要符合(object,StartupEventArgs)。

    在这个函数里有一个局部变量 List<string> parameters = new List<string>();这是一个重要的参数,将来这个参数还会赋给Page的构造函数Page(List<string> parameters)。然后设置了一个while(true),这实际上是一个在正常情况下永远不跳出的循环。在循环体里调用IDictionary<string,string>  StartupEventArgs.InitParams[string](获取传递的初始化参数)赋给一个局部变量parameter(string)值。如果这个值正常,就把它添加到List<string> parameters里面,不调用break,索引递增,然后继续添加。如果已经添加完毕,则调用了break,跳出循环,进行下面的语句。在这一段落里还是使用了一些技巧的,比如把它们放进了一个try{}里面,这样当不存在于字典里的时候,也会跳出,实现了我们的目的。

        while(true)
            {
                try
                {
                    parameter = e.InitParams["param" + index];
                    if ((parameter != null) && (parameter.Length > 0))
                          parameters.Add(parameter);
                    else
                          fail = true;
                }
                catch (Exception) { fail = true; }

                if (fail)
                    break;
                else
                    index++;
            };

其实我们现在很有必要学习一下 StartupEventArgs.InitParams属性,对于我来说是一个陌生的知识点。

public IDictionary<string,string> InitParams{get;},但为了保持连续性,放在其他文章里进一步学习更好。

言归正传,这个事件处理函数里接下来的事情就比较简单了,传递参数,构建Page。

this.RootVisual = new Page(parameters).

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值