キャンバスを使用して掃海艇ゲームを作成する際のガイドに従って、Javascriptを学習しようとしています。オプションバーをクリックすると、それをキャンバス上のクリックとして登録するという事実を除けば、すべてがうまくいっています。 This is a screenshot of the whole game so far.私はまだキャンバスをクリックすることができ、それは必要に応じて機能しますが、オプションバー(スマイリーフェースのある部分)をクリックすると、キャンバスにクリックとして登録され、タイルの1つが削除されます。ここで間違った要素から与えられた座標
は、マウスクリックを登録するコードです:
「
if(e.offsetX) { //Get's mouse pos relative to the canvas pos
mouseX = e.offsetX;
mouseY = e.offsetY;
}
else if(e.layerX) {
mouseX = e.layerX;
mouseY = e.layerY;
}
//mouseX = e.pageX; //Gets mouse pos relatiove to page
//mouseY = e.pageY;
//console.log("Mouse Pos on screen (x, y) = " + mouseX + "," + mouseY);//Validate that the mouse position is being recorded.
//Algorithm to tell which cube the click was on.
if (Math.floor(mouseX/settings.width) < settings.columns && Math.floor(mouseY/settings.height) < settings.rows){
clickX = Math.floor(mouseX/settings.width);
clickY = Math.floor(mouseY/settings.height);
console.log("Coords of clicked box (x,y)" + clickX + "," + clickY);
}
`
私ができるので、うまくいけば、これは、それに問題を発見するために誰かのために十分です」 t。
あなたはcodepenまたはjsfiddleにあなたが持っているものを置くことができますか?このように問題を理解するのはずっと簡単です。 – amadan
@amadan http://codepen.io/LeBarryScott/pen/ZBErWp?editors=1010 –