如何从像素阵列绘制地图
How to draw map from pixel array
我正试图从图像加载地图,我得到了图像上每个像素的十六进制代码,这些代码被放入map[]中。世界[]将存储1或0或精灵表上精灵数量的任何数字。如果颜色是#8aff00,那么它将为草存储0。地图是16乘16像素,这是我的世界大小。当我尝试制作世界数组时,for语句工作正常,没有错误。我知道我有所有的数据,但我的这部分功能不起作用,它只是在以下语句之后停止:
function createWorld() {
for (var y=0; y < worldHeight; y++) {
for (var x=0; x < worldWidth; x++) {
if (map[pl] == '#8aff00') world[x][y] = 0;
if (map[pl] == '#000000') world[x][y] = 1;
pl+=4;
}
}
alert('about to draw');
draw();
}
警报从未被调用。当我显示x和y时,它从"0,0"变为"1,0",然后返回到值x和y的",0"。pl表示我想要的数组的编号。当我放另一个for语句来处理这个问题时,它更糟糕了。代码有问题吗?如果你需要更多的代码,请告诉我。
我已经成功构建了正在运行的代码。
现在轮到你根据需要实施它了。
worldHeight = 16;
worldWidth = 16;
world = {};
map = ['#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000','#8aff00','#000000']
pl = 0
function draw(){
console.log(world);
}
function createWorld() {
for (var y=0; y < worldHeight; y++) {
for (var x=0; x < worldWidth; x++) {
if (map[pl] == '#8aff00')
world[x] = 0;
world[x][y] = 0;
if (map[pl] == '#000000')
world[x] = 0;
world[x][y] = 1;
pl+=4;
}
}
alert('about to draw');
draw();
}
createWorld();
干杯。
相关文章:
- 在谷歌地图上绘制位置数据库
- “可绘制地图”设置地图选项“纬度-经度”
- 使用复选框绘制多段线谷歌地图API3,不'不起作用
- Python在spark中绘制地图
- 使用Node js和D3实时绘制地图上的国家名称
- 如何在D3.js中绘制地图投影上的点,并使用范围滑块过滤数据
- 谷歌地图API在Javascript中,绘制圆的半径
- 使用Raphael js直接在谷歌地图上绘制
- 谷歌地图/GMAP3 - 绘制从用户地理位置到已知目的地的路线 - 需要帮助
- 如何使用谷歌地图绘制已知路线 JavsScript API V3.
- Google Maps v3 API-在地图上绘制圆圈
- 用d3和topojson绘制一张地图
- 使用D3.js在地图上绘制点的最佳方式
- 如何在谷歌地图API中使用坐标数组绘制多边形
- 需要使用新数据重新绘制地图(与CartoDB.js结合使用)
- GoogleMaps和GeoIP:从IP获取Lat、Long并绘制地图
- 选择语言绘制地图& &;用图标显示几个区域
- Canvas只绘制地图上循环的最后一个元素
- 如何在这里绘制地图与这里地图Javascript 3 API
- 如何从像素阵列绘制地图