1

目前我正在用 JavaScript 开发一个游戏。我有以下代码在 ($gameMap.events()[eventId]) 创建对象时运行:

var _GameEvent_initialize = Game_Event.prototype.initialize;
Game_Event.prototype.initialize = function(mapId, eventId) {
    _GameEvent_initialize.call(this, mapId, eventId);
    if (this.isEnemy()) {
            this._eventEnemyId = this.isEnemy();
            console.log(this._eventEnemyId);

            this._eventEnemyHP = $dataEnemies[this._eventEnemyId].params[0];
            console.log(this._eventEnemyHP);
            this._eventEnemyATK = $dataEnemies[this._eventEnemyId].params[2]; // ATK
            this._eventEnemyDEF = $dataEnemies[this._eventEnemyId].params[3]; // DEF
            this._eventEnemyDEX = $dataEnemies[this._eventEnemyId].params[6]; // DEX
            this._eventEnemyLCK = $dataEnemies[this._eventEnemyId].params[7]; // LCK
            console.log("TRUMP!");
            this._isEnemy = true;
    }
        this.test = "lel";
}

控制台告诉我,它通过 IF 运行。它看起来像这样:

1
50
TRUMP!

该对象还包含值为“lel”的变量“test”。但该对象不包含_eventEnemyHP等。所以我可以打电话$gameMap.events()[eventId].test;但不能$gameMap.events()[eventId]._eventEnemyHP;

我究竟做错了什么?

4

0 回答 0