【问题标题】:Storing pixel based world data存储基于像素的世界数据
【发布时间】:2012-01-04 03:53:27
【问题描述】:

我正在制作具有可破坏地形的 2d 游戏。它将在 iOS 上,但我正在寻找想法或伪代码,而不是实际代码。我想知道如何存储大量数据。 (这将是一个大世界,大约 64000 像素宽和 9600 高。每个像素都需要一种方法来存储它是什么类型的对象。)我希望使用 2D 数组,但快速负载测试表明这是不可行的(即使使用 640x480 网格,我的速度也低于 1 fps) 我还尝试了这里详述的方法:http://gmc.yoyogames.com/index.php?showtopic=315851(我曾经使用 Game Maker 并记住了这种方法)但是似乎有点麻烦,并且再次重新组合对象几乎是不可能的。 那么还有哪些其他方法呢?有谁知道蠕虫是如何工作的?那么图像编辑器呢,他们如何存储每个像素的颜色? 谢谢, YM

【问题讨论】:

  • 如果您只是存储单个像素,您将需要多少种类型的对象?像素不应是对象。
  • 好吧,我需要泥土、岩石和矿藏,以及其他一些材料。我希望避免每个像素都是一个对象,可能有一个整数数组,每个数字对应一种材质类型。渲染引擎会查找每个像素并在其上绘制正确的材质。
  • 一个像素?为什么不使用 8x8 像素(或其他)的块来表示对象或大型对象的一部分?您的世界地图/数组将变得更小,因此搜索和渲染速度更快(每个像素的查找次数更少)。

标签: 2d pixel terrain destruction


【解决方案1】:

Run-length encoding 可以帮助您解决记忆问题

【讨论】:

  • 是的,但我真正想要的是更好的方法。我可能会使用多边形而不是像素(矢量与光栅),这应该更快并且使用更少的内存。无论如何,谢谢,虽然没有真正回答这个问题。
【解决方案2】:

我很可能会使用基于多边形的存储。

【讨论】:

    猜你喜欢
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    相关资源
    最近更新 更多