绘制小地图(游戏)

Posted

技术标签:

【中文标题】绘制小地图(游戏)【英文标题】:Drawing a minimap (game) 【发布时间】:2013-04-01 07:50:37 【问题描述】:

我正在制作一个 rts 游戏,并创建了一个包含地图图块的二维数组。我想将其传输到图像(无符号整数或 sdl 表面?),我可能会将其绘制到 gl Quad 上。我可能只使用 2 个 for 循环来绘制每帧的整个地图。问题是,我不知道如何执行此操作的语法。

我希望地图大小灵活(可能总是正方形),因此小地图也必须灵活。

如果我能找到如何从头开始创建图像的语法(或了解如何将 unsigned int 解释为图像?)并绘制每个像素,这将完全解决我的问题。

【问题讨论】:

【参考方案1】:

您可以先使用SDL_CreateRGBSurface(链接有教程)创建一个SDL_Surface,并使用所需的地图高度和宽度。

SDL_Surface *map = SDL_CreateRGBSurface(Uint32 flags, int width, int height, int bitsPerPixel, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);

获得表面后,您可以使用

访问表面的像素
map->pixels    //pointer to the start of pixel data for map

当您想要调整地图大小时,您可以创建一个具有新大小的新 SDL_Surface 并使用图像缩放算法将像素转换为它,然后删除旧表面并将新表面用作地图

【讨论】:

嘿呃,我如何设置所述像素的颜色?我不确定这之后的步骤 这里不是最直观的example。并阅读documentation。

以上是关于绘制小地图(游戏)的主要内容,如果未能解决你的问题,请参考以下文章

【小程序】地图|绘制GPX轨迹

Unity中怎么做小地图?unity如何制作游戏中的小地图啊?

微信小程序绘制地图轨迹线路

Python之绘制个人足迹地图

Python之绘制个人足迹地图

unity怎么把canvas做成小地图