私は最近、ゲーム開発に LimeJS を使い始めましたが、ちょっとした障害に遭遇しました。
RTSタイプのゲームを作っています。建物を選択し、マップをクリックして、選択した建物をマップに追加する機能があります。建物が既にある建物と重なっている場合、プレイヤーが建物を配置できるようにしたくありません。これを確認するにはどうすればよいですか?建物はスプライトであり、マップ スプライトに子として追加されます。hitTest を使用することを考えていましたが、その機能がどのように機能するのかよくわかりません。イベント ハンドラの例:
goog.events.listen(field,['mousedown'],function build(e){
if(selected_ == 1){
var house = new rh.house().setPosition(e.position.x, e.position.y);
field.appendChild(house);
selected_ = -1;
houselbl.setFill('assets/storage.png');
}
if(selected_ == 2){
var blacksmith = new rh.blacksmith().setPosition(e.position.x, e.position.y);
field.appendChild(blacksmith);
selected_ = -1;
blacksmithlbl.setFill('assets/blacksmith.png');
}
if(selected_ == 3){
var lumbermill = new rh.lumbermill().setPosition(e.position.x, e.position.y);
field.appendChild(lumbermill);
selected_ = -1;
lumbermilllbl.setFill('assets/lumbermill.png');
}
});