LibGdx - спрайты движутся рядом с камерой - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь визуализировать некоторые объекты в случайных позициях на экране. Позиции нереста хороши, однако, когда я перемещаю объект игрока (на котором фокусируется камера) и прохожу середину экрана (затем камера начинает двигаться), спрайты других объектов также перемещаются со мной, чего я не хочу .

Я пытался выдавать им позы в мире, а не на экране, используя 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);
    }

Вот так выглядит игра, когда я ее запускаю

И вот как это выглядит после того, как я переместил персонажа игрока вправо. Как вы можете видеть, они двигались рядом с камерой, но я хочу, чтобы они оставались на своих первоначальных позициях.

...