1

javascript の配列の配列で構成されたキューブ グリッドがあります。グリッドの次元は変数に格納されます。1 つの立方体dimの寸法、spacing各立方体間の距離 (dimおよびspacingピクセルで表される) も同様です。

さて、私はいつでもユーザーのマウス位置を変数に入れることができg.mouseXg.mouseYなぜこのコードは必ずしも正確ではないのでしょうか?

var j = Math.round(g.mouseX / (dim+spacing));
var i = Math.round(g.mouseY / (dim+spacing));

// user clicked on the cell grid[j][i]

キューブをクリックすることもありますが、近くのキューブを検討しているようです。ユーザークリックのマッピング全体が半分ずれているようdimです。おそらく、Math.round を使用するとほとんどすべてが間違ったものになりますが、ユーザーがグリッド内の正確な座標をクリックしたときに、このような混沌とした予測不可能な値を変換する方法は他にありません。

誰でもこれを手伝ってくれることを願っています!

前もって感謝します...

4

1 に答える 1

1

丸めではなく、切り捨てたい。を使用できます。これは (たとえば)にMath.floorマップされます。3.73

var j = Math.floor(g.mouseX / (dim+spacing));

onclickしかし実際には、各グリッド セルのイベントをバインドしないのはなぜでしょうか?

于 2012-04-28T01:28:23.717 に答える