scene2d 위로 아래로 위치 (이것은 이미지 버튼을 사용하여 쉽습니다).정확한 위치는 내가, 내 libGDX 응용 프로그램에서 다음과 같은 무언가를 오프 설정 프레스 수있는 피아노 키 레이아웃 할
내가 고심하고있는 것은 모든 버튼을 피아노 키보드와 비슷한 것으로 레이아웃하는 방법입니다. 흰색 피아노 건반 이미지는 직사각형이지만 검정 피아노 건반을 그 위에 놓아야합니다. 아래 그림은 내 하얀 피아노 키 이미지가 어떻게 보이는지를 보여줍니다. 검은 색 메모를 쓰려는 위쪽 모서리에 사각 공간이 있습니다. 테이블 간격으로 나를 떠날 것이다 나란히 모든 것을 레이아웃으로 Table
가 작동하지 않습니다 사용
. Stack
을 사용할 수있는 것을 보았지만 모든 어린이를 마지막에 바로 놓기 때문에 도움이되지 않습니다.
Skin skin;
Stage stage;
SpriteBatch batch;
private TextButton button1;
private TextButton button2;
@Override
public void create() {
batch = new SpriteBatch();
stage = new Stage();
Gdx.input.setInputProcessor(stage);
createSkin();
Table table = new Table();
table.setFillParent(true);
stage.addActor(table);
// Create a button with the "default" TextButtonStyle. A 3rd parameter can be used to specify a name other than "default".
button1 = new TextButton("First note", skin);
button1.getLabel().setFontScale(5);
button2 = new TextButton("Second note", skin);
button2.getLabel().setFontScale(5);
table.add(button1).width(500).height(500);
table.add(button2).width(500).height(200);
}
@Override
public void render() {
super.render();
Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
@Override
public void resize (int width, int height) {
stage.getViewport().update(width, height, true);
}
@Override
public void dispose() {
stage.dispose();
skin.dispose();
}
private void createSkin() {
skin = new Skin();
Pixmap pixmap = new Pixmap(1, 1, Pixmap.Format.RGBA8888);
pixmap.setColor(Color.WHITE);
pixmap.fill();
skin.add("white", new Texture(pixmap));
skin.add("default", new BitmapFont());
TextButton.TextButtonStyle textButtonStyle = new TextButton.TextButtonStyle();
textButtonStyle.up = skin.newDrawable("white", Color.DARK_GRAY);
textButtonStyle.down = skin.newDrawable("white", Color.BLUE);
textButtonStyle.checked = skin.newDrawable("white", Color.DARK_GRAY);
textButtonStyle.over = skin.newDrawable("white", Color.DARK_GRAY);
textButtonStyle.font = skin.getFont("default");
skin.add("default", textButtonStyle);
}
이 렌더링 : 도움이된다면
, 내 코드는 다음과 같은 것입니다 나는 테이블을 사용하여 말할 수까지 일을 중복 할 수있는 방법이 없습니다
,하지만 난 할 수 그것을하는 다른 방법을 찾지 못한다. scene2d를 사용하여이 작업을 수행 할 수 있습니까?