目前我正在用 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;
我究竟做错了什么?