2

私がキャンバスタイルセット画像に持っているようなもの。 http://i947.photobucket.com/albums/ad320/kev1030_photos/btiles2032.png

最初のタイルが0を返す場合、10のタイルが9を返す場合、そして...そして...

HTML5キャンバスでタイルセットをクリップする方法は?

4

1 に答える 1

0

ここではクリップは正しい言葉ではありません。クリッピングとは、画像または画面へのパスの一部のみを描画する場合です。

これを「ヒットテスト」または「オブジェクトピッキング」または「セル検出」と呼びます。

これは単純な数学です。各アイコンは32+2の黄色なので、これを実行してどのセルを見つけることができますか。

can.addEventListener('mousedown', function(e) {
    var mouse = getMouse(e, can);
    var x = Math.floor(mouse.x / 34);
    var y = Math.floor(mouse.y / 34);
    alert(x + (y*16)); // because there are 16 in a row
}, false);

実例は次のとおりです。

http://jsfiddle.net/YH8b8/

于 2012-05-12T23:32:37.947 に答える