2015-02-15 3 views
0

Я в процессе создания своего заставки, и у меня есть некоторые сомнения, связанные с выравниванием элементов и их правильной настройкой. Как заставить мои спрайты, текст и другие элементы занять правильное место и сделать их выровненными на экране, если вы знаете, что я имею в виду. Должен ли я использовать таблицу для этого? Как я могу это сделать и как использовать таблицу для этой операции?Упорядочить спрайты и текст на экране с помощью Libgdx


Я изменил код: может теперь класс игрока расширяет класс Actor. Но я получаю некоторые проблемы, потому что я добавил игрока в таблицу, но изображение игрока появляется почти посередине экрана. Это не произошло, прежде чем я вставил метод, выравнивающий таблицу в центр, но я удалил этот метод, и игрок все еще держится с этой позицией на экране

Часть из SplashScreen в методе show():

// Create the SpriteBatch 
this.game.spriteBatch = new SpriteBatch(); 

// Create the stage 
this.game.stage = new Stage(this.game.viewPort); 

// Create the table 
this.table = new Table(); 
this.table.setFillParent(true); 
this.game.stage.addActor(this.table); 

// Insert the elements into the table 
this.table.row(); 
this.table.add(this.game.player); 

Теперь от метода визуализации() из SplashScreen:

// Set the projection matrix for the SpriteBatch 
this.game.spriteBatch.setProjectionMatrix(this.game.orthoCamera.combined); 

// SpriteBatch begins 
this.game.spriteBatch.begin(); 

// Display the ClimbUp logo 
this.gameTitle.draw(this.game.spriteBatch); 
this.table.draw(this.game.spriteBatch, 1); 

this.game.player.draw(this.game.spriteBatch, 1); 

// SpriteBatch ends 
this.game.spriteBatch.end(); 

ответ

0

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

Table someTable = new Table(); //Takes a Skin object as a parameter. 
someTable.add(); // Element as parameter. 
someTable.row(); // Add a row if you need it. 
someTable.add(); //Element as parameter. 
someTable.debug(); // Don't forget to call debug(); 

Если у вас есть объект таблицы инстанцирован и готовы пойти просто добавить его в объект Stage и пусть это делают рисунок и другие вещи.

someStage.addActor(someTable); 

Но прежде чем делать это, вероятно, стоит взглянуть here.

+0

Да, я видел это, прежде чем спрашивать здесь, но он не объяснил мне, как я могу разместить спрайт в моем столе или даже в тексте. Это мой вопрос. Я также пытался найти на youtube, но не нашел ничего, что объясняет мне. – Jazzguy

+0

Вы не можете напрямую добавить Sprite, однако вы можете добавить объект Scene2DUI под названием Actor. Для текста вы можете просто вызвать метод .add(), который принимает строку в качестве аргумента (есть и другие перегруженные методы, которые позволяют передавать шрифт и строку в качестве аргументов). – dHoja

+0

Вопрос обновлен – Jazzguy

Смежные вопросы