我之前的帖子中没有收到具体的答案:Retrieve "id" from array in JQuery
所以我会尝试更详细地解释并展示我的所作所为。
我正在开发一款小型游戏,我在阵列中有几个障碍:
obstacles = [ { id: '#car' }, { id: '#house' }, { id: '#door' }, ];
在我的代码的第二部分中,我有:
JQuery的:
$('#alert').hide();
for (index in obstacles) {
object = $(obstacles[index]["id"]);
obj_left = object.position().left + parseInt(object.css("margin-left"));
obj_top = object.position().top + parseInt(object.css("margin-top"));
if ((((posX > (obj_left - me.width() / 2)) &&
(posX < (obj_left + object.width() + me.width() / 2)))) &&
(posY > (obj_top - me.height() / 2)) &&
(posY < (obj_top + object.height() + me.height() / 2))) {
// Cannot walk
return false;
}
// it's starts to get ugly here.
if (object == '#car') {
$('#character').hide();
}
if (object == '#door') {
$('#noenter-alert').show();
}
}
// Can walk again
return true && $('#character[).show(), $('#noenter-alert').hide();
}
HTML:
<div id="alert">//...</div>
<div id="character"></div>
<div class="door" id="door"></div>
<div class="house" id="house"></div>
<div class="car" id="car"></div>
我测试了它,效果很好。但是我没有为每个障碍物显示警报,而只是想要检索某个障碍物的值(即:如果玩家撞到汽车,隐藏玩家或者如果玩家碰到门输出“你可能无法进入!”)
希望我能够直截了当地提供相当数量的代码。
以下是我所遵循的教程的链接:http://blog.oscarliang.net/pokemon-online-game-theme-tutorial/
谢谢!我为转发道歉,但我希望有人能解决这个问题。
答案 0 :(得分:0)
警告应该在if条件
if ((((posX > (obj_left - me.width() / 2)) && (posX < (obj_left + object.width() + me.width() / 2)))) && (posY > (obj_top - me.height() / 2)) && (posY < (obj_top + object.height() + me.height() / 2))) {
//Here You need to put the alert
alert(object+'is here')
return false;
}