一种在嵌入式环境下的2D游戏栅格地图绘制方法

本文介绍了在嵌入式系统中使用STM32F429芯片和7寸LCD屏幕,通过Photoshop创建栅格地图并利用Image2LCD软件转换成C语言数组,最终实现2D游戏地图的绘制。详细讲解了如何处理数据不对齐问题,以及从一维数组转换为二维数组的过程。
摘要由CSDN通过智能技术生成

在嵌入式系统开发中,如果你想要在LCD屏幕上绘制一幅二维栅格地图(就像坦克大战那样的砖块地图),该如何实现呢?应该会用到一个二维数组来存储地图信息,但如何构建这幅地图呢?肯定不是手工在数组里赋值吧,那样很麻烦,也不直观,我在我的课程实验中是这样做的,使用画图软件先“画一幅地图”,然后通过数据转换实现地图的直观、快捷设计,适用于小的实验程序,分享给大家。

实验开发环境:嵌入式芯片为STM32F429,开发板配一块7寸LCD显示屏。该芯片系列内部自带LTDC液晶显示控制模块,若使用其他系列芯片,请自行配置液晶驱动。

实现思路:

假设你的液晶屏为800*480大小,因为是要做栅格化的地图,就假定栅格大小为20个像素,那么屏幕就被分成了40*24的小格子,每个格子20*20像素,绘制地图时,你得先定义好一个基本地图单元,比如一个20*20的砖块图案,在指定的格子里绘制这样的单位砖块,就构成了地图。

那么此时你需要一个40*24的二维数组,来决定每个格子画还是不画,数组里就两种数,1:表示画,0:表示不画。绘制地图就是遍历这样一个二维数组。

如果你手工给数组赋值&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值