如何在所有方向加载div

时间:2016-11-16 23:32:26

标签: javascript jquery html

我正在尝试使用主要使用django后端的javascript来构建游戏。理想情况下,地图将是巨大的,所以我不想为用户加载整个地图,而只是加载周围的地图。 (类似于谷歌地图)如果一次加载,可能会有10,000多个div。

我想要制作一些位置相对背景div,并用绝对位置加载div。 Javascript可以使用

之类的东西加载块

在Javascript中

var someX = -1000;
var someY = -500;

分组加载:

top: (someX + "px");
left: (someY + "px");

但我觉得计算抵消每个块的数量会是一个巨大的混乱。

这是否有效,是否是跨浏览器的兼容解决方案?或者是否有一个更简单的解决方案可以加载类似于Google地图的地图块?

1 个答案:

答案 0 :(得分:4)

这取决于你如何定义你的“块”。大多数基于Tileset的引擎通过使用固定大小的“磁贴”(通常以像素为单位,但可能是其他东西)使自己更容易。所以你可以给一个函数“tile-count x,y”,它就是:

offsetX = tileNumberX x tilewidth  ;
offsetY = tileNumberY x tileHeight ;

提供更多灵活性的那些通常在每个tileset的json或xml中都有一个文件。这定义了每个图块的边框和偏移。所以你的函数只需要读取文件,你需要在开发周期中每个tileset预先计算一次。

在开始编程之前进行实验,我可以真的推荐Tiled editorSuperpowers engine的组合。

它基本上可以为您提供您所描述的内容,因此您可以决定按原样使用它。否则,它是一个很好的工具,可以尝试使用自己的引擎处理事物的不同方式。