Javascript:如何为所有其他对象集中一个对象?
我会尽我所能解释这一点,现在开始。在我的项目中,我正在制作一个视频游戏,目前,我正在编写玩家将要使用的技能。然而,我看到了一个巨大而明显的问题。也就是说,我正在设置技能,这样当玩家与一条龙战斗时,玩家将获得一部分龙的生命,等等。但是当玩家与一个地精或其他生物使用相同的技能时会发生什么呢?它不会正常工作,因为技能是专门链接到一条龙的,因为我目前在代码中有它 我决定使用包含所有怪物的对象,但我不知道如何集中它,这样我只能引用一个对象代码,然后它将查找我正在与之战斗的怪物。这样,技能是流线型的,我不必为每次战斗编写新技能。我如何设置这个Javascript:如何为所有其他对象集中一个对象?,javascript,html,css,dom,Javascript,Html,Css,Dom,我会尽我所能解释这一点,现在开始。在我的项目中,我正在制作一个视频游戏,目前,我正在编写玩家将要使用的技能。然而,我看到了一个巨大而明显的问题。也就是说,我正在设置技能,这样当玩家与一条龙战斗时,玩家将获得一部分龙的生命,等等。但是当玩家与一个地精或其他生物使用相同的技能时会发生什么呢?它不会正常工作,因为技能是专门链接到一条龙的,因为我目前在代码中有它 我决定使用包含所有怪物的对象,但我不知道如何集中它,这样我只能引用一个对象代码,然后它将查找我正在与之战斗的怪物。这样,技能是流线型的,我不必
// 1. CHARACTER OBJECTS
function player(hp, hpcap, mana, manacap, energy, energycap, atb) {
this.hp = hp;
this.hpcap = hpcap;
this.mana = mana;
this.manacap = manacap;
this.energy = energy;
this.energycap = energycap;
this.atb = atb;
}
function playerStats(strength, armor, magicdamage, magicresistance, precision, parry, critical, manaregen, energyregen) {
this.strength = strength;
this.armor = armor;
this.magicdamage = magicdamage;
this.magicresistance = magicresistance;
this.precision = precision;
this.parry = parry;
this.critical = critical;
this.manaregen = manaregen;
this.energyregen = energyregen;
}
function npc(hp, mana, energy, atb) {
this.hp = hp;
this.mana = mana;
this.energy = energy;
this.atb = atb;
}
function npcStats(strength, armor, magicdamage, magicresistance, precision, parry, critical, manaregen, energyregen) {
this.strength = strength;
this.armor = armor;
this.magicdamage = magicdamage;
this.magicresistance = magicresistance;
this.precision = precision;
this.parry = parry;
this.critical = critical;
this.manaregen = manaregen;
this.energyregen = energyregen;
}
// 2. GLOBAL PLAYER/NPC VARIABLES
var character = new player(1, 100, 50, 50, 75, 75, 6);
var cs = new playerStats(20, 1, 10, 1, 30, 10, 10, 1, 1);
var dragon = new npc(250, 80, 75, 6);
var dragonstats = new npcStats(15, 3, 15, 5, 40, 10, 10, 2, 2);
您可以创建一个全局可用的命名空间:
var yourNameSpace = {};
创建一个怪物属性:
yourNameSpace.monsters = {};
然后添加怪物的键值对:
yourNameSpace.monsters.dragon = new npc(250, 80, 75, 6);
yourNameSpace.monsters.threeToedMegaSloth = new npc(350, 60, 15, 6);
//etc..
然后你可以像这样引用你的怪物:
yourNameSpace.monsters["dragon"];
或
yourNameSpace.monsters.dragon;