-1

このコミックから個々のタイルを表示しようとしています: 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しかし、それは機能しません。

助けてくれてありがとう!

4

2 に答える 2

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')
    };
于 2012-10-31T16:32:44.833 に答える
0

命名スキームは\dn\dw、たとえば2n2wです。注意してください、いくつかが欠けています。

于 2012-10-31T16:28:30.183 に答える