【问题标题】:How to create a minimap for large maps? (HTML5-javascript)如何为大地图创建小地图? (HTML5-javascript)
【发布时间】:2013-08-30 12:59:26
【问题描述】:

我会尝试解释我要做什么。

我分享了一张照片。左侧,有一个游戏屏幕,它向我展示了一个大的全地图区域。但是我需要制作一个像右侧这样的小地图来查看其他开放区域的地方。 (黑色的地方是无人参观的地方。和其他策略游戏一样,它们在黑暗中)

问题在于:我已将所有图块记录到我的数据库中。例如 (x:1, y:1 = Grass, x:1, y:2=grass, x:3, y:20= water...) 我正在显示来自数据库记录的图块。

所以,如果我从我的数据库中制作一个小地图,这意味着我必须一次粘贴 10.000 个图块。这意味着非常非常非常缓慢的事情。我可以一次将地图粘贴为图像,但如果这样做,我将无法定义未访问区域。如果我从数据库中取出它们,它会很慢。

如何创建小地图来控制地图视野? 我该怎么办?

【问题讨论】:

  • 小地图不需要超高分辨率——至少对我这个玩家来说是这样。如果您每第三/第四个图块渲染一次,应该没问题,并且要渲染的像素会少得多。

标签: javascript html map


【解决方案1】:

HTML5?所以我想一切都在画布上,而不仅仅是用大地图克隆和调整画布大小以创建一个小地图。 Here 是一个可以帮助您做到这一点的 SO 答案。

【讨论】:

  • 问题是:我应该从我的数据库记录中制作迷你地图。如果我调用 10.000 条记录来显示小地图,它会让我变慢。
  • 但是如何创建大地图?
  • 为什么只用数据库数据创建大地图而不是克隆/调整它的大小来创建小预览是个问题。如果是多用户游戏,更新将只包含更改的图块而不是全部。
【解决方案2】:

将未探索区域数据保留在客户端可以很容易地获取资源,所以除非它是一个仅限离线的游戏,否则我会在探索时通过 ajax/ajaj 从数据库中获取图块数据,这样你就有了只下载当时需要的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多