小梦今天把2048的游戏源代码给大家分享一下,其实感觉这个重在算法,UI很简单,而且几乎没有用到什么windows phone的API。小梦遇到最主要的问题就是对触摸事件的处理,我刚开始想到的就是 Manipulation的系列事件,不过在测试的时候不知道为什么我设置的ManipulationDelta,ManipulationStart,ManipulationCompleted 竟然都全无反应,我还以为WP8.1不支持了,于是把所有的触摸事件试了个遍,到最后发现当把ManipulationMode设置为”All”的时候,终于有了反应,(当然,这个不一定要是ALL,设置为你支持的触摸事件就可以,比如平移,旋转。)想问一下:是不是必须要设置ManipulationMode然后Manipulation才有反应呢?  我测试的结果是必须要有。于是我便用了ManipulationStart和ManipulationCompleted和获取触摸开始和结束的坐标,不过当完成后,发现游戏虽然正常运行,但是反应超级慢,明显延迟1秒左右。我开始以为是算法有问题,太费时间了,于是看了好多其他人公开的算法,发现复杂度都差不多。最后想到了在触摸事件的引发顺序中,ManipulationCompleted时间比较靠后,或许是这个原因。于是便想用ManipulationDelta事件试下,看看反应会不会快点,结果反应的确快了,只不过一次触摸会触发多次。解决方法是在使用它的Complete()方法,这个方法师完成触摸而不引发惯性时间。

还有一个小问题就是布局生成16个小方格时候,我采用的是在Grid里放置Button来实现。就是大家要注意button按钮本身有默认属性是有Margin,Padding,borad,以及状态属性和各个状态之间的转移动画,要想实现2048中的方格效果,我们应该删除或者修改这些属性。还有Grid也有默认的Margin属性,我们也得改掉。

至于2048的完整实现过程,改天再写吧。

欢迎大家吐槽和建议,源码还有许多改进的地方,小梦还会在修改的。

源码献上: windows phone 2048  (大家只要注册一下就可以了,没有其他限制。)

windows phone 2048 源代码奉上的更多相关文章

  1. Windows下从源代码编译Skia

    在PPAPI里面画图,能够结合第三方的图形库.比方Cairo.Skia. Google Chrome.Chromium和Android都使用Skia作为画图引擎.我也来试试Skia,先过编译关. fo ...

  2. Windows下Wamp装不上Memcache扩展

    windows下wamp装不上memcache扩展2015.03.20 No Comments 1,243 views用的是WAMP集成包,PHP版本5.5.12http://windows.php. ...

  3. Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项

    错误代码及解释:  在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建 ...

  4. 背水一战 Windows 10 (120) - 后台任务: 后台上传任务

    [源码下载] 背水一战 Windows 10 (120) - 后台任务: 后台上传任务 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台上传任务 示例演示 uwp 的后台上 ...

  5. 【Windows】windows核心编程整理(上)

    小续 这是我11年看<windows核心编程>时所作的一些笔记,现整理出来共享给大家 windows核心编程整理(上) windows核心编程整理(下) 线程的基础知识 进程是不活泼的,进 ...

  6. Windows操作系统下SVN无法上传*.o文件

    Windows操作系统下SVN无法上传*.o文件 2017年09月07日 10:14:49 yanlaifan 阅读数:834  摘自:https://blog.csdn.net/yanlaifan/ ...

  7. windows svn 客户端连不上linux svn server

    采坑记录:linux服务器上svn://127.0.0.1可以正常使用,windows客户端远程连接不上,说明是端口号的问题. linux正常配置了iptables开启了3690端口,连接不上. 干脆 ...

  8. windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决

    windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决 一.发现问题 由于tomcat内存溢出,在wind ...

  9. 解决windows server2003 64位操作系统上不能加载32位应用程序dll 的问题

    [FileLoadException: Could not load file or assembly 'sapnco_utils, Version=3.0.0.42, Culture=neutral ...

随机推荐

  1. 如何修复和检测Windows系统漏洞

    本文为<如何给系统打补丁(知识篇)>一文实战文章.   本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  2. jmeter分布式测试的坑(转)

    本文转自:https://www.cnblogs.com/lsjdddddd/p/5806077.html 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的 ...

  3. vim学习3

    可视模式:

  4. 03002_MySQL数据库的安装和配置

    1.MySQL的安装 (1)下载mysql-5.5.49-win32.msi, 链接:MySQL安装包下载 密码:geqh : (2)打开下载的MySQL安装文件mysql-5.5.27-win32. ...

  5. 阶段复习-.NET下托管资源与非托管资源的小记

    托管资源由由程序员负责分配,在系统的二级缓存中,GC自动回收释放:而非托管资源也是由程序员负责分配,资源的释放回收也是由程序员负责,使用Dispose或者析构函数对资源进行回收,常见的非托管资源是包装 ...

  6. [JWT] JWT with HS256

    The advantages of JWT over traditional session based validation is: it effectively removing all auth ...

  7. 深入理解HTTP协议及原理分析之缓存(3种缓存机制)

    3.2 缓存的实现原理 3.2.1什么是Web缓存 WEB缓存(cache)位于Web服务器和客户端之间. 缓存会根据请求保存输出内容的副本,例如html页面,图片,文件,当下一个请求来到的时候:如果 ...

  8. 洛谷—— P1434 滑雪

    https://www.luogu.org/problem/show?pid=1434#sub 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜 ...

  9. Netty系列之Netty可靠性分析--转载

    原文地址:http://www.infoq.com/cn/articles/netty-reliability 1. 背景 1.1. 宕机的代价 1.1.1. 电信行业 毕马威国际(KPMG Inte ...

  10. 观察者模式 VS 责任链模式

    为什么要把观察者模式和责任链模式放在一起对比呢?这两个模式没有太多的相似性呀,真没有嘛?有相似性,我们在观察者模式中也提到了触发链(也叫做观察者链)的问题,一个具体的角色既可以是观察者,也可以是被观察 ...