HTML5でヘクスグリッド戦略ゲームを開発していますが、UIにボタンを追加するのが複雑になるため、KineticJSを使用してコードを書き直してキャンバスを描画しています。
私のゲームでは、ミニマップと、プレーヤーのカメラの位置を示す長方形があります。プレーヤーがミニマップをクリックすると、カメラの中心がクリックした位置に設定されます。私の元のコードは外部ライブラリを使用しておらず、次のようになっています。
this.on('click', function(event){
var canvas = document.getElementById('gameCanvas');
var x = event.pageX - canvas.offsetLeft;
var y = event.pageY - canvas.offsetTop;
camera.setPos( // calculate new position based on x and y....);
}
})
つまり、基本的に私が欲しいのは、CANVASに相対的なクリックイベントの位置です。現在、KineticJSがキャンバスを制御し、キャンバスIDを設定できないためgetElementById
、キャンバスを選択するために使用することはできなくなりました。それを行う別の方法はありますか?
キャンバスIDを設定できる方法がわからなかった可能性がありますが、理想的にはKineticJSAPIを使用したより効率的なソリューションを期待しています。
ありがとう。