[英]How can I get all new objects name created from a function constructor?
I am working on a javaScript project, building a turned based game, and I have created a function constructor for the Players.我正在开发一个 javaScript 项目,构建一个基于回合的游戏,并且我为玩家创建了一个 function 构造函数。
I added a css class for each player, with the same name of the players.我为每个播放器添加了一个 css class,与播放器的名称相同。
Below I added my js code:下面我添加了我的js代码:
function Player(name, image) {
this.name = name;
this.image = image;
}
var player1 = new Player("kakashi", "ninja.png");
var player2 = new Player("mightyGuy", "samurai.png");
function checkClass() {
$.each(classList, function(index, cssClass) {
if (
cssClass === "wall" ||
cssClass === "kakashi" ||
cssClass === "mightyGuy"
) {
blocked = true;
}
});
}
How could I get all new player.name created from this constructor in order to check if a specific divCell has any player.name class??我如何获取从该构造函数创建的所有新 player.name 以检查特定 divCell 是否有任何 player.name class?
So instead of write cssClass === "kakashi" ||所以不要写 cssClass === "kakashi" || cssClass === "mightyGuy"
cssClass === "mightyGuy"
I would simply write it one time, and automatically it will check all css classes by Player.name.我会简单地写一次,它会自动按 Player.name 检查所有 css 类。
Update question: This is the way I end up using in my code:更新问题:这是我最终在我的代码中使用的方式:
function Player(name, image) {
this.name = name;
this.image = image;
}
var player1 = new Player("kakashi", "ninja.png");
var player2 = new Player("mightyGuy", "samurai.png");
function checkClass() {
$.each(classList, function(index, cssClass) {
if (
cssClass === "wall" ||
cssClass == passivePlayer.name
) {
blocked = true;
}
});
}
I used this way because I don't need to write any player name by using the var passivePlayer (that could be any player except the activePlayer)我使用这种方式是因为我不需要使用 var passivePlayer 来写任何玩家名称(可以是除了 activePlayer 之外的任何玩家)
you can add the classes to an object and check if they exist.您可以将类添加到 object 并检查它们是否存在。
function Player(name, image) {
this.name = name;
this.image = image;
}
var player1 = new Player("kakashi", "ninja.png");
var player2 = new Player("mightyGuy", "samurai.png");
function checkClass() {
const checkList = {
wall: true,
kakashi: true,
mightyGuy: true
}
$.each(classList, function (index, cssClass) {
if (checkList[cssClass]) {
blocked = true;
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.