上一节我们学习了自定义组件(容器),这一节我我们使用自定义组件(容器)做一个简易打地鼠的小游戏,再创建一个屏幕,在第三个屏幕上面先放置切换屏幕的按键。 然后百度找两张图片,一个作为土拨鼠,一个作为坑,坑和土拨鼠图片的像素点大小保证一致减少计算。 放置几个按钮表示土拨鼠的坑,用上面表示坑的图片表示背景,这样你按钮的大小就和图片的大小保持一致,每一个按钮设置好编号, 每一个按钮对应一个函数。我们在CustomContainer2.hpp中声明定义这些函数 我们写一个类似于滴答定时器的函数,来作为打地鼠的时钟。在组件(容器)中使用handleTickEvent是没有效果的,组件不会自己产生时钟需要外部提供,那我们随便写一个函数作为组件的时钟,然后外部写一个handleTickEvent函数来调用就好了。所有函数在CustomContainer2.hpp中声明,在CustomContainer2.cpp中定义,在CustomContainer2.hpp变量数组等等不要复制,不然Keil会报错。 其中Games_Start==1表示游戏开始,Games_Start==0表示游戏结束,那我们在来两个那就来控制这个变量,同样声明两个函数。 在电脑模拟才用C语言随机数来生成地鼠所在的位置,在STM32中使用RNG随机数发生器 按下按钮判断现在地鼠总数量是否大于1,如果大于1在判断地鼠是否在当前按钮下,如果在这里那么对应的图片取消,具体实现代码见工程代码。 启动仿真器 |