了解XKCD中的javascript函数

时间:2012-10-31 16:23:16

标签: javascript

我正在尝试查看此漫画中的各个图块:http://xkcd.com/1110/

我查看了JavaScript,但我无法弄清楚命名约定。

for (var y = -1; y <= +1; y++)
    for (var x = -1; x <= +1; x++) {
        var name = tile_name(centre[0] + x, centre[1] + y);
        var tile = $map.find('.tile' + name);
        if (tile.length) $remove = $remove.not(tile);
        else {
            $image = $('<img class="tile' + name + '" src="http://imgs.xkcd.com/clickdrag/' + name + '.png" style="top:' + ((centre[1] + y) * tilesize) + 'px;left:' + ((centre[0] + x) * tilesize) + 'px; z-index: -1; position: absolute;;" style="display:none" />');
            $image.load(function() {
                $(this).show()
            }).error(function() {
                $(this).remove();
            });
            $map.append($image);
        }
    }

$remove.remove();

我期待:http://imgs.xkcd.com/clickdrag/1.2.png但这不起作用。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

你应该看看这个功能: 它创建了瓷砖的名称。

    tile_name=function(x,y)
    {
        x-=size[3];
        y-=size[0];
        return (y>=0?(y+1)+'s':-y+'n')+(x>=0?(x+1)+'e':-x+'w')
    };

答案 1 :(得分:0)

命名方案为\dn\dw,例如,2n2w。当心,有些人不见了。