Я хотел бы создать потенциально неограниченное количество экземпляров определенного класса в моем документе javascript:
let trees;
const treespawn = () => {
let x = random(50, windowWidth - 50);
let y = random(windowHeight /22, windowHeight / 1.13);
for (let i = 0; i < 20; i++) {
trees[i] = new Trees(x, y);
return trees[i];
}
}
function draw() {
background(0, 111, 10);
trees.trunk();
trees.leaves();
trees.shudder();
}
class Trees {
constructor(x, y) {
stuff--stuff--stuff
}
trunk() {
stuff--stuff--stuff
}
leaves() {
stuff--stuff--stuff
}
shudder() {
stuff--stuff--stuff
}
}
Некоторые точки:
деревьяпеременная объявлена глобально, потому что я не могу придумать, как сохранить вызовы функций класса в области видимости.
Я использую p5, поэтому функция draw.Я создал все свои другие классы в функции setup ().
Основное объяснение:
Я бы хотел создать объект класса Trees много раз и иметьони появляются на моем холсте в начале каждого уровня игры, которую я делаю.Для этого потребуется около 20 деревьев на уровень внутри параметров, установленных для значений x и y.На более высоких уровнях моей игры я могу увеличить количество деревьев.
Вы можете видеть, как просто выписать 20-30 объявлений переменных, создать эти классы и вызвать все функции внутри каждого класса было бы непрактично.
Я понимаю, что это должно быть сделано каким-то образомметодологии массива.Может ли кто-нибудь помочь мне здесь?
Заранее спасибо!
Обновление:
Насколько я получил, и сообщения об ошибке консоли нет, но я не вижу деревьев нахолст.
function draw() {
background(0, 111, 10);
() => {
let x = random(50, windowWidth - 50);
let y = random(windowHeight /22, windowHeight / 1.13);
for (let i = 0; i < 20; i++) {
trees[i] = new Trees(x, y);
trees[i].trunk();
trees[i].leaves();
trees[i].shudder();
}
}
}