Я добавляю "How to Play"
инструкции в игру, которую создал с помощью libGDX. Прокрутка инструкций должна отображаться только в фиксированной области экрана, а не в виде полноэкранной прокрутки. Я создал сцену и добавил немного фона и других актеров, а затем несколько меток, которые представляют собой заголовок (вне скроллера) и текст инструкций (единственное, что нужно прокручивать). Он также не должен прокручиваться по горизонтали, только по вертикали. Поэтому я установил ширину метки и обернул текст. Короче говоря, мне нужен полный контроль над положением и размером скроллера, он не должен быть полноэкранным. Поэтому я написал следующий код, чтобы добавить скроллер инструкций:
private void addHelpContent()
{
int width = (int) (0.85*alertBounds.width);
int height = scrollStartY - scrollEndY;
int x = Constants.APP_WIDTH/2 - width/2;
BitmapFont font = Model.getInstance().createFont(Constants.ROCK_NORMAL_FONT_FILE_PATH, 20);
Label.LabelStyle labelStyle = new Label.LabelStyle();
labelStyle.font = font;
labelStyle.fontColor = Color.valueOf("A07E10FF");
Label label = new Label(getHelpString(), labelStyle);
label.setWidth(width);
label.setWrap(true);
label.pack();
label.setFillParent(true);
ScrollPane scrollPane = new ScrollPane(label);
scrollPane.setBounds(x, scrollEndY, width, height); //This should be the bounds of the scroller and the scrollable content need to be inside this
scrollPane.layout();
scrollPane.setTouchable(Touchable.enabled);
addActor(scrollPane);
}
Но сейчас я столкнулся с двумя проблемами:
- Я не могу прокручивать панель прокрутки. Метка обрезана прямо по краям, что делает панель прокрутки бесполезной.
- Другие актеры, кроме меток, сначала не появляются, они появятся только после того, как я прокрутлю панель прокрутки (а она не будет прокручиваться). Этой проблемы не будет, если я прокомментирую код, чтобы добавить панель прокрутки. Поэтому я уверен, что это связано с самой панелью прокрутки.
Кто-нибудь может помочь мне решить эту проблему?