JavaFX Side-Scrolling game: Как генерировать интерактивные объекты в "расширенной" сцене
Поэтому я пытаюсь создать 2D javafx игру с боковой прокруткой.
До сих пор я использовал AnimationTimer
контролировать движение моего персонажа. Но сейчас я застрял, пытаясь заставить сцену двигаться.
Я могу переместить неинтерактивные элементы, используя AnimationTimer снова. Но мне не хватает идеи, как создавать интерактивные элементы в игре.
Например, допустим, игрок проходит много шагов и достигает, чтобы взять пикап. Теперь, как мне поставить этот звукосниматель на сцену, чтобы он появился где-то позже в игре. Чтобы попытаться объяснить мою проблему лучше, рассмотрите это противное изображение, которое я нарисовал в краске:
Изначально игроку виден только экран между зелеными границами. Игрок должен идти вперед (и, следовательно, экран должен идти вперед), и он должен найти этот звукосниматель между двумя стенами. Как разместить звукосниматель за пределами видимого вида сцены, чтобы он появлялся только тогда, когда игрок достигает его?
1 ответ
Самый простой способ: вы добавляете все на сцену и задаете ей абсолютные координаты. Вы перемещаете игрока, изменяя его координаты в сцене. В зависимости от позиции игрока вы начинаете прокручивать. Пока вы прокручиваете фон, вы также перемещаете все другие объекты с такими же координатами x и y. Видимый вид имеет заданную ширину и высоту. В зависимости от положения игрока, ширины / высоты обзора и диапазона объектов, объекты становятся видимыми во время прокрутки.