从数组中检索某个对象并根据检索进行操作

时间:2014-04-06 15:58:00

标签: jquery arrays

我之前的帖子中没有收到具体的答案: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/

谢谢!我为转发道歉,但我希望有人能解决这个问题。

1 个答案:

答案 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;
    }

参见演示http://jsfiddle.net/symonsarwar/6Ffxk/22/