Как увеличить актера в ScrollPane в libGDXAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как увеличить актера в ScrollPane в libGDX

Сообщение Anonymous »

У меня есть игровое поле, которое представляет собой группу с актерами. Группа находится в таблице, которая находится в ScrollPane. У меня есть две кнопки для увеличения и уменьшения игрового поля. Вот мой код, как я это делаю:

Код: Выделить всё

    TextButton zoomInBtn = new TextButton("+", menuBtnStyle);
zoomInBtn.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
float width = fieldGroup.getWidth();
float height = fieldGroup.getHeight();
float newWidth = width + width * 0.1f;
if (newWidth > myWorld.getMaxWidth()) {
newWidth = myWorld.getMaxWidth();
}
float newHeight = height * newWidth / width;
fieldGroup.setWidth(newWidth);
fieldGroup.setHeight(newHeight);
myWorld.setWidth(Math.round(newWidth));
fieldGroup.reinitialiseChildren();
Cell cell = fieldTable.getCell(fieldGroup);
cell.clearActor();
cell.setActor(fieldGroup);
}
});
TextButton zoomOutBtn = new TextButton("-", menuBtnStyle);
zoomOutBtn.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
float width = fieldGroup.getWidth();
float height = fieldGroup.getHeight();
float newWidth = width - width * 0.1f;
if (newWidth < myWorld.getMinWidth()) {
newWidth = myWorld.getMinWidth();
}
float newHeight = height * newWidth / width;
Actor widget = scrollPane.getWidget();

fieldGroup.setWidth(newWidth);
fieldGroup.setHeight(newHeight);
myWorld.setWidth(Math.round(newWidth));
fieldGroup.reinitialiseChildren();
Cell cell = fieldTable.getCell(fieldGroup);
cell.clearActor();
cell.setActor(fieldGroup);
}
});
Я меняю размер своей группы полей с актерами изображений в ней. А затем считываю его в таблицу.
Проблема в том, что когда я масштабирую изображение с помощью кнопок, оно всегда масштабируется вокруг левого угла. Я хочу, чтобы он увеличивал масштаб от галопа ScrollPane. Я знаю, что могу сделать это с помощью Orthographic Camera, но, думаю, было бы сложно сделать ее движения такими плавными, как ScrollPane. Так что, возможно, есть какой-то способ сделать это с помощью ScrollPane.

Подробнее здесь: https://stackoverflow.com/questions/326 ... -in-libgdx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»