在嵌入式系统开发中,如果你想要在LCD屏幕上绘制一幅二维栅格地图(就像坦克大战那样的砖块地图),该如何实现呢?应该会用到一个二维数组来存储地图信息,但如何构建这幅地图呢?肯定不是手工在数组里赋值吧,那样很麻烦,也不直观,我在我的课程实验中是这样做的,使用画图软件先“画一幅地图”,然后通过数据转换实现地图的直观、快捷设计,适用于小的实验程序,分享给大家。
实验开发环境:嵌入式芯片为STM32F429,开发板配一块7寸LCD显示屏。该芯片系列内部自带LTDC液晶显示控制模块,若使用其他系列芯片,请自行配置液晶驱动。
实现思路:
假设你的液晶屏为800*480大小,因为是要做栅格化的地图,就假定栅格大小为20个像素,那么屏幕就被分成了40*24的小格子,每个格子20*20像素,绘制地图时,你得先定义好一个基本地图单元,比如一个20*20的砖块图案,在指定的格子里绘制这样的单位砖块,就构成了地图。
那么此时你需要一个40*24的二维数组,来决定每个格子画还是不画,数组里就两种数,1:表示画,0:表示不画。绘制地图就是遍历这样一个二维数组。
如果你手工给数组赋值&#x