Я использую phaser3. Когда я создаю группу спрайтов со значениями гравитации, они не двигаются. Если спрайты создаются по отдельности, они перемещаются.
Например, работает приведенный ниже код:
brick1 = game.add.sprite(game.world.width / 2, 0, 'tile'+randomNumber(1,6));
brick2 = game.add.sprite((game.world.width / 2) + 60, 0, 'tile'+randomNumber(1,6));
game.physics.arcade.enable(brick1);
game.physics.arcade.enable(brick2);
brick1.enableBody=true;
brick2.enableBody=true;
brick1.body.gravity.y = 10;
brick2.body.gravity.y = 10;
Мне нужно, чтобы они были в группе, поэтому, если у меня есть код ниже, они просто не двигаются. Я проверил атрибуты на каждом дочернем элементе, и у них есть значения для гравитации.
brick = game.add.group();
brick1 = brick.create(game.world.width / 2, 0, 'tile'+randomNumber(1,6));
brick2 = brick.create((game.world.width / 2)+60, 0, 'tile'+randomNumber(1,6));
game.physics.arcade.enable(brick);
game.physics.arcade.enable(brick1);
game.physics.arcade.enable(brick2);
brick1.enableBody=true;
brick2.enableBody=true;
brick1.body.gravity.y = 10;
brick2.body.gravity.y = 10;
console.log(brick);
ОБНОВЛЕНИЕ:
Я понимаю, что это происходит при установке скорости каждый ребенок в группе. Я хочу, чтобы пользователь нажал клавишу курсора вниз, а затем изменил скорость. У меня есть код ниже, но это просто мешает им двигаться вообще.
if (!cursors.down.isDown) {
brick.children.forEach(child => child.body.setVelocity(300));
} else {
brick.children.forEach(child => child.body.setVelocity(300));
}
Также пробовал с "brick.children.forEach (child => child.body.velocity = 300);", но не повезло.