JavaFX Side-Scrolling game: Как генерировать интерактивные объекты в "расширенной" сцене

Поэтому я пытаюсь создать 2D javafx игру с боковой прокруткой.

До сих пор я использовал AnimationTimer контролировать движение моего персонажа. Но сейчас я застрял, пытаясь заставить сцену двигаться.

Я могу переместить неинтерактивные элементы, используя AnimationTimer снова. Но мне не хватает идеи, как создавать интерактивные элементы в игре.

Например, допустим, игрок проходит много шагов и достигает, чтобы взять пикап. Теперь, как мне поставить этот звукосниматель на сцену, чтобы он появился где-то позже в игре. Чтобы попытаться объяснить мою проблему лучше, рассмотрите это противное изображение, которое я нарисовал в краске:

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

1 ответ

Самый простой способ: вы добавляете все на сцену и задаете ей абсолютные координаты. Вы перемещаете игрока, изменяя его координаты в сцене. В зависимости от позиции игрока вы начинаете прокручивать. Пока вы прокручиваете фон, вы также перемещаете все другие объекты с такими же координатами x и y. Видимый вид имеет заданную ширину и высоту. В зависимости от положения игрока, ширины / высоты обзора и диапазона объектов, объекты становятся видимыми во время прокрутки.

Другие вопросы по тегам