【PersimmonUI柿饼学习营】+ DaZhou + 2048游戏 + 一周感悟

发布于 2018-09-02 20:01:41
这次的2048游戏作业难度有点大,一方面是各种控件的综合应用,另一方面最令人头疼的就是算法实现了。营里面有两位大神令我印象深刻:一位是 MeetWit(关先生),他最先实现了2048的逻辑算法,令人吃惊的是,他只是一个大四在校生,后生可畏(哎,其实我不老);另一位,我觉得绝对算的上是营里的带头大哥了“ABC大佬-洪爷”,他最先实现了2048的“商业版本”,我倾尽全力,亦不能望其项背。能认识这两位大佬,真好!感谢RTT官方!
我之前两篇帖子详细介绍了柿饼UI工具的使用方法,还粗略讲了点UI设计的个人体会,此处不再赘述。下面还是先上我的成果代码和视频,请各位移驾GitHub查看。
GitHub工程代码、成果视频仓

详细的基本制作过程,请参见“ABC大佬-洪爷”的帖子洪爷の示。我想多讲一点我跟大家不一样的实现方法——“伪触屏操控”。这周官方没有发布滑屏操作的API,建议我们用4个button实现2048数字的四个方向移动。对于学习来讲,这个建议特别中肯,但我想到更多的是,我怎么才能最大程度发掘我现有的资源?假如客户必须要求跟手机一样是滑屏操作怎么办?我就仔细观察每个组件,发散他们的应用。这也得感谢柿饼UI工具的强大,我找到了,Slider(滑块控件)。如下图所示:
1535888313(1).jpg
还有它的属性:
1535888354(1).jpg
下面是Event事件中,它的属性:
1535888481(1).jpg1535888499(1).jpg
当时我在想怎么实现滑屏操作的时候,看这一页看了好久,一个灵感就浮现在我的脑海里。我不妨垂直摆放两个slider控件,交叉点类似坐标原点,那么,您明白了吗?判断坐标原点四周的值是不是就能实现滑屏了?令值为50的时候为中心点,小于的可标记为左或者下,大于的可标记为右或者上,这样每次划的时候,幅度划大一点,这样不就实现滑屏了?做到这点还不够,不能再显示界面上把这个组件显示出来吧,显示出来就全露馅了,所以隐藏起来! 再次感谢柿饼UI工具的强大,这些功能,控件都支持。下图是部分关键操作和代码:
1535888958(1).jpg如此摆放;


1535889059(1).jpg删掉它华丽的外表,就透明隐藏起来了,6不6?

1535889254(1).jpg方向识别和对应方向动作处理的关键代码,相见github.

这样的话,就是识别你手指滑动的方向,然后就能满足假象客户的需求了,我觉得,做项目,凡事多想一点,对自己要求高一点,总是会避免很多坑的吧。

我的代码虽然基本功能都实现了,但是还有很多BUG,算法效率低下。希望大家多多斧正,感激不尽!
RT-Thread 真是一家有爱的公司,它的全家桶真的是造福了广大物联网从业着,希望自己有一天也能为RT-Thread的发展贡献 自己的一点力量!

DaZhou



查看更多

关注者
0
被浏览
3k
7 个回答
MurphyZhao
MurphyZhao 2018-09-03
这个滑屏操作实现很强
DaZhou
DaZhou 2018-09-03
MurphyZhao 发表于 2018-9-3 09:41
这个滑屏操作实现很强


过奖啦,心有灵犀一点通
Mr_John_Robert
Mr_John_Robert 2019-01-03
楼主你好,我一直有个疑问,就是柿饼UI是在RT_thread系统之上跑起来的,还是一个独立的,仅仅是进行界面显示,换句话说是否是ucos和ucgui的运行模式,由于刚刚接触这方面的内容,不是很了解,非常感谢
DaZhou
DaZhou 2019-01-23
Mr_John_Robert 发表于 2019-1-3 20:09
楼主你好,我一直有个疑问,就是柿饼UI是在RT_thread系统之上跑起来的,还是一个独立的,仅仅是进行界面显 ...


您好,柿饼是基于RT-Thread之上跑起来的
RTT_Ming
RTT_Ming 2019-09-07
实打实的项目总结呀。赞一个。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览