Я пытаюсь визуализировать некоторые объекты в случайных позициях на экране. Позиции нереста хороши, однако, когда я перемещаю объект игрока (на котором фокусируется камера) и прохожу середину экрана (затем камера начинает двигаться), спрайты других объектов также перемещаются со мной, чего я не хочу .
Я пытался выдавать им позы в мире, а не на экране, используя cam.unproject(position);
, который конвертирует доли относительно экрана в позиции относительно игрового мира, но это тоже не сработало.
Они отображаются так же, как и все остальные спрайты в libgdx
Это код, где я инициализирую сущности:
Texture zombie = new Texture("zombie.png");
float x, y;
for (int i = 0; i < enemy_amout; i++) {
x = rm.nextFloat() * (mapWidth * 8f- zombie.getWidth());
y = rm.nextFloat() * (mapHeight * 8f - zombie.getHeight());
Vector3 position = new Vector3(x, y, 0);
cam.unproject(position);
enemies[i] = new Entity(zombie, position.x, position.y, 1);
}
Вот так выглядит игра, когда я ее запускаю
И вот как это выглядит после того, как я переместил персонажа игрока вправо. Как вы можете видеть, они двигались рядом с камерой, но я хочу, чтобы они оставались на своих первоначальных позициях.