• (9)开发的第一个项目


    近期用C#开发了一个小的东西,甚至不能叫工程吧,但是我们做出了3个版本的,还是有点小骄傲的。下面我介绍下:

    这是个小游戏,名字叫调皮蛋(Naughty egg),游戏规则非常简单,你的屏幕会响应你的拖动事件,你要避免红色加深,促进绿色加深,来赢取游戏。但是到第三关你就会发现惊喜!

    在开发的时候我们也为了一些东西感到困扰,比如控件之间的数据绑定直接在XAML里面就能完成,但是事件的数据要绑定到控件上有点小绕弯子,网上这方面的资料也少,这里我贴一下自己的解决方法,可能很笨,但好在管用。

    //数据绑定
            public class ModelBase : INotifyPropertyChanged
            {
                public event PropertyChangedEventHandler PropertyChanged;
                public void OnPropertyChanged(string propertyName)
                {
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                    }
                }
            }
            public class xue : ModelBase
            {
                private int hp;
                public int HP
                {
                    get { return hp; }
                    set { hp = value; OnPropertyChanged("HP"); }
                }
            }

            //数据绑定

    我首先创建一个接口于INotifyPropertyChanged的基类ModelBase,便于代码的复用。用的时候new一个xue的实例,其中的变量HP已经有绑定的特性。时间响应函数里面只需要改变HP的值就行了,控件里面可以在XAML里面实现:

    这样就基本完成了。

    说句实在话,WP和Wstore版本的代码基本上一样,直接复制粘贴,需要注意的是屏幕的自适应。上面所说的数据绑定可以完全移植过去,还有就是实现页面的跳转实在太简单了,只要一句话的事,这点java不能比的。在Wp里面拖拽函数有几个,我们选择了最稳定的一个,跟随手指最合适的一个:

     private void finger_PointerMoved(object sender, PointerRoutedEventArgs e)
            {
                Point p = e.GetCurrentPoint(circle).Position;
                Point p2 = e.GetCurrentPoint(rect1).Position;
                mousepoint = e.GetCurrentPoint(circle).Position;
                if (pushDown) {
                if (tag == 0)
                {
                    rect1.Fill = new SolidColorBrush(Colors.Red); //矩形的填充颜色为红色!
                    changecolor(p2);
                }
                else
                {
                    changecolor2(p2);
                    rect1.Fill = new SolidColorBrush(Colors.Green); //矩形的填充颜色为绿色!
                }
                }
            }

    还有WP中应用的4个基本状态,处理程序的逻辑时大家要注意了,这里不再赘述。下面是程序的一些效果图:

    程序的源代码我们整理好后,会放到论坛,作为open source的项目,我们希望更多的开发者拓展这款游戏。

  • 相关阅读:
    XML 加密、解密
    word 转 pdf
    PowerDesigner(PowerDesigner15.1.0.2850)下载、安装以及破解
    SQL 2005 18456
    SQL 2005端口的修改
    SQL——统计查询
    由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例 解决办法
    ASP.NET MVC中Model View Controller的开发顺序
    使用Windows身份验证的Intranet网站安全管理 Windows Authentication
    ASP.NET web.config中数据库连接字符串connectionStrings节的配置
  • 原文地址:https://www.cnblogs.com/shenyuelong/p/4525587.html
Copyright © 2020-2023  润新知