0

我正在制作一个游戏,我试图healthLost在失去健康的任何 javascript 对象上显示。这是我的对象代码的相关部分player

function Player(id) {
this.id = id;
this.displayText = "<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'" +
    "class='onTop' id='" + this.id + "' alt='you' border='0' />" +
    "<div id = '" + this.id + "health' class = 'healthLost hide'></div>";}

和 for monsters( 对象数组)

function createMonster(name,startingPoint,level) {
    this.id = "monsters[" + monsterIdPlacholder++ + "]";
    this.displayText = "<img src='http://4.bp.blogspot.com/-wo6VrFt3ER4/UOq47YphNUI/AAAAAAAACCY/e-JnxNYzyWQ/s1600/712324538.png'" +
    "alt='bad guy' border='0' id = '" + this.id + "' />" +
    "<div id = '" + this.id + "health' class = 'healthLost hide'></div>";
}

用于hide

.hide{
    display:none;
}

在我的函数中attack()我这样写

function attack( attacker, defender ) {

    //code to calculate healthLost

    var displayHealthDivId = defender.id + "health";  

    console.log( displayHealthDivId  ); 

    console.log( defender.displayText  );   

        $( "#" + displayHealthDivId ).removeClass("hide");
            $( "#" + displayHealthDivId ).html( healthLost );

        });
    }
}

现在上面的 jquery 适用于我的player对象,但不适用于我monster的对象,console.log返回以下

playerhealth
adventure.js (line 240)
<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'class='onTop' id='player' alt='you' border='0' /><div id = 'playerhealth' class = 'healthLost hide'></div>
adventure.js (line 242)
monsters[0]health
adventure.js (line 240)
<img src='http://4.bp.blogspot.com/-wo6VrFt3ER4/UOq47YphNUI/AAAAAAAACCY/e-JnxNYzyWQ/s1600/712324538.png'alt='bad guy' border='0' id = 'monsters[0]' /><div id = 'monsters[0]health' class = 'healthLost hide'></div>

那么为什么它对怪物不起作用?我该如何解决这个问题?

我真正想要的是让 div 出现然后向上淡出,但我稍后会这样做。但是,如果您可以将其包含在答案中,那就太好了。

链接在这里

抱歉,我无法创建小提琴,代码太多,并且错误(引用错误,因为我没有输入所有代码)不断出现。

- 编辑 -

我找到了一种解决方法,但是我仍然不知道上面的代码有什么问题,如果您发现了什么请告诉我,但是上面的链接将不再显示我的问题。

4

0 回答 0