我最近开始使用 LimeJS 进行游戏开发,但遇到了一些麻烦。
我正在制作 RTS 类型的游戏。我有让您选择建筑物的功能,然后单击地图将所选建筑物添加到地图中。如果建筑物与已经存在的建筑物重叠,我不希望玩家能够放置建筑物。我将如何检查这个?建筑物是 Sprite,它们又作为子项添加到地图 Sprite 中。我正在考虑使用 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');
}
});