Я делаю свою первую игру на canvas / JS, и у меня возникла проблема с конструкторами функций. Мы пытаемся сделать так, чтобы объект Enemy случайно брал один из двух спрайтов при создании. Вот фрагмент нашего кода:
function Enemy() {
// Boilerplate stuff omitted. Relevant bit:
if (randomFromTo(1,50)%2 === 0) { // Assume this function works correctly
this.sprite.src = "images/scientist_1.png";
} else {
this.sprite.src = "images/scientist_2.png";
}
}
var enemy1 = new Enemy();
var enemy2 = new Enemy(); // etc
Это кажется достаточно простым, но в конечном итоге каждый вражеский объект имеет один и тот же спрайт. Я понятия не имею, почему это произойдет - если я помещу сообщение журнала консоли в соответствующие места, оно регистрирует правильные варианты, но в любом случае каждый враг получает тот же спрайт Так каков наилучший способ сделать это, предполагая, что это возможно? Спасибо!