本项目设计的是一款拼图游戏。游戏中实现了easy、normal、hard三级难度可设、拼图图片切换,更换拼图顺序重新开始游戏、显示游戏说明信息、游戏完成动画等功能。设计中使用到contaimer、cuscontaimer、scroll wheel、animated image等组件。设计还使用到了interaction事件响应机制及clickListener事件响应机制。在拼图图片移动功能上,设计为点击需要移动的拼图块来移动对应块。移动功能实现通过button控件及image控件分别配合interaction事件响应机制及clickListener事件响应机制来实现。STM32 LOGO的旋转动画及游戏完成动画则通过animated image组件实现。
为了演示游戏完成动画效果,在3X3拼图的组合中设计了一个能快速完成游戏的顺序(见视频)。
本次ToughGFX 设计让我了解了ToughGFX的强大。设计中使用到的是ToughGFX的一部分功能。还有很多的功能值得进一步深入挖掘。
本项目设计基于F769I-DISCO开发板的800*480液晶屏进行设计,因手头没有该开发板,所以采用模拟演示。
设计分享:
1.按钮事件设置,选择调用制定响应函数,设定响应函数名为showInfo。
在MainView.hpp增加对应的代码
在MainView.出cpp增加对应的代码
2.ScrollWheel控件功能
配合ScrollWheel控件使用的item自定义控件
在MainView.hpp增加对应的代码
之后根据添加按钮事件步骤将difficultyLevelButton按钮与difficultyLevelScroll控件联动起来,在MainView.出cpp增加对应的代码
3.动画效果设置
4.控件的clickListenner事件响应功能。同一类控件的clickListenner响应可以写在一个callback里。本项目用到两个控件的clickListenner,分别是Image和AnimatedImage,代码也包含这个两个部分。
在MainView.hpp增加对应的代码
在MainView.cpp增加对应的代码
5.拼图移动的代码、拼读完成检查、及其他功能的部分代码(完整代码请查看项目源文件)
下面是本设计的源代码和视频百度云地址:
链接:
https://pan.baidu.com/s/1o1uZ_F8o6z1Xw0FjWgmfcw 提取码: 6qpm