繁体   English   中英

在数组中创建对象的多个实例

[英]creating multiple instances of an object in an array

嘿,我正在开发一款游戏,该游戏涉及在游戏板上生成许多不同的敌人。 我创建了一个具有随机速度和位置的敌人对象,并将该对象推到数组中。

现在如何乘以阵列中的敌人数量?

const allEnemies = []; 

let bugSpeed = randomNumber(5, 25) * 10;
let bugRow = randomNumber(1, 4);
enemy = new Enemy(bugRow, bugSpeed);

allEnemies.push(enemy); 

您可以在需要数字的类上添加multiply方法,并使用Array.from方法返回当前实例的克隆。

 const allEnemies = []; class Enemy { constructor(row, speed) { this.row = row; this.speed = speed; } multiply(number) { return Array.from(Array(number), () => { return Object.assign(new Enemy, this); }) } } const enemy = new Enemy(1, 3); allEnemies.push(...enemy.multiply(5)); allEnemies[1].speed = 123; console.log(allEnemies[1].multiply(3)); console.log(allEnemies) 

发布相同的纯JavaScript版本;

Enemy.prototype.multiply = function(multiplyBy){
   var that = this;
   Array.from(Array(multiplyBy), function(){
      var newEnemy = Object.assign(new enemy, that);
      allEnemies.push(newEnemy);
   });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM