标签: scene2d

如何在Libgdx中创建一个按钮?

我想创建一个按钮,当用户将其悬停或单击时,该按钮会发生变化.我创建了以下变量

Button buttonPlay = new Button();
Run Code Online (Sandbox Code Playgroud)

我现在不知道该怎么办,如何加载图片?如何在按钮中写入文字?如何实现事件/效果(悬停,点击)?

如果有人可以为按钮编写一些示例代码,那将非常有用.

java libgdx scene2d

29
推荐指数
2
解决办法
6万
查看次数

将Freetypefont放入libgdx皮肤

在我的uiskin.json中我有这个

com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: text/default.fnt } }

当我在assets文件夹的text文件夹中有default.fnt时,这很好用...

但是我想使用Freetypefont.

如何创建Freetypefont并将其加载到uiskin文件中?

java freetype libgdx scene2d

14
推荐指数
2
解决办法
4975
查看次数

如何在libgdx中绘制Button类

我知道libgdx有这个Button类似乎很容易使用,但我想知道为什么该draw方法被设置保护?

在那种情况下,我应该如何绘制按钮?

Scene2d按钮

android libgdx scene2d

11
推荐指数
2
解决办法
1万
查看次数

何时在Libgdx中使用ShapeRenderer,Mesh + SpriteBatch,Box2D和Scene2D?

我是Android游戏开发的新手,在我开始使用libgdx ShapeRenderer并进行了一些搜索后,如果我用右脚开始,我会感到困惑.

所以,我真正想知道的是什么时候应该使用ShapeRenderer,Mesh + SpriteBatch,Box2D和Scene2D.

android box2d libgdx scene2d

11
推荐指数
1
解决办法
4941
查看次数

libgdx - 如何在舞台上添加背景图片?

我正在学习libgdx,但我陷入了困境......

我在舞台上添加了一个按钮,现在我想在舞台上添加一个图像,使图像看起来像按钮的背景图像.我的意思是按钮应该位于图像上.我一直在寻找教程,但没能做到这一点.

怎么做到呢?任何帮助?

java android game-engine libgdx scene2d

10
推荐指数
2
解决办法
9015
查看次数

如何在LibGDX中使ProgressBar工作?

我试图了解如何在LibGDX中使用ProgressBar.

我创建了酒吧,但我不知道如何让它成功.我想复制旋钮,以便在60秒内填充条形图(背景线).我知道如何管理时间,但ProgressBar类中没有方法用旋钮填充栏.至少,我还没有看到它(或者我不明白怎么样).这是我的代码:

ProgressBar的代码:

skin = new Skin();
Pixmap pixmap = new Pixmap(10, 10, Format.RGBA8888);
pixmap.setColor(Color.WHITE);
pixmap.fill();
skin.add("white", new Texture(pixmap));

textureBar = new TextureRegionDrawable(new TextureRegion(new Texture(Gdx.files.internal("barGreen_horizontalMid.png"))));
barStyle = new ProgressBarStyle(skin.newDrawable("white", Color.DARK_GRAY), textureBar);
bar = new ProgressBar(0, 10, 0.5f, false, barStyle);
bar.setPosition(10, 10);
bar.setSize(290, bar.getPrefHeight());
bar.setAnimateDuration(2);
stage.addActor(bar);
Run Code Online (Sandbox Code Playgroud)

我知道我可以用这个方法移动旋钮setValue(float).但我想要的是用旋钮的纹理填充条形.这是一个酒吧的截图和旋钮.

在此输入图像描述

任何人都可以帮我理解这个吗?提前致谢.

java libgdx progress-bar scene2d

10
推荐指数
2
解决办法
1万
查看次数

Libgdx标签轮换

是否无法旋转标签?似乎API具有该功能,但它似乎不起作用?有没有更多旋转文字的方法?

Label nameLabel = new Label( "Test", skin);
nameLabel.setRotation( 90 );
stage.addActor( nameLabel );
Run Code Online (Sandbox Code Playgroud)

java libgdx scene2d

9
推荐指数
2
解决办法
1586
查看次数

为什么Libgdx的表不接受规模行动?

我在libgdx库中使用scene2d在我的游戏中创建一些UI.

我使用了一个表格,当用户触摸按钮触摸感觉时,我想采取一些缩放操作.

当我使用像Group这样的任何其他"Actor"类型并给它一个缩放动作时,它可以工作但不是Table.

这是我的表定义:

Table table = new Table();
table.setSize(width, height);
table.setPosition(x, y);
table.setOrigin(width/2, height/2);
table.add(new Label(...));
table.row();
...
Run Code Online (Sandbox Code Playgroud)

在我的touchDown事件中,我给它一个缩放动作:

table.addAction(Actions.scaleTo(0.8f, 0.8f, 0.1f));
Run Code Online (Sandbox Code Playgroud)

在touchUp中,我给它另一个动作来获得原始比例:

table.addAction(Actions.scaleTo(1f, 1f, 0.1f));
Run Code Online (Sandbox Code Playgroud)

正如我所说,这段代码适用于其他类型的Actors,如Image和Group.任何想法,为什么不适用于表?

java tablelayout libgdx scene2d

8
推荐指数
1
解决办法
4894
查看次数

覆盖绘制顺序scene2D的阶段

你会得到一个带有几个和的复杂Scene2D图形.您希望用户选择一些并在最后绘制它们,以便它们看起来集中在任何其他顶部.libgdxGroup'sActor'sActorsActors

我想迭代Stage两次.第一次绘制未选中的Actors,第二次绘制选中的actors.但是,我没有看到任何"好"的方式来强制执行此行为.

我更喜欢干净的选择.我不想仅仅为了这个小小的添加而复制整个方法实现.

什么行不通:

  • Actor's toFront()方法仅适用于它的兄弟姐妹.
  • 交换Actor's舞台中的位置:这会修改其所具有的变换Actors.

想一想的情景:你有Root一个团体gA和一个团体gB.Group gA包含两个图像iA1iA2.Group gB包含一个图像iB.鉴于Group gA首先被添加到阶段并且图像iA1iB重叠; 现在你想选择iA1并让它出现在iB上.我不想只调用gA.toFront() ; 这会将整个Group gA放在前面,这意味着iA2也被放到了前面.将iA2放在前面会产生不希望的影响,即将部分图像隐藏在Group gB中

在此输入图像描述

java scenegraph libgdx scene2d

8
推荐指数
1
解决办法
2961
查看次数

使用libgdx,如何将文本和图像添加到ScrollPane?

这是一段代码片段.

itemList = new List(skin, "ariel.32.white");
String[] tmpInv = new String[b+1];
tmpInv[0] = "<Empty>";
a++;
for (Entry<String, String> entry : inventoryItems.entrySet()) {
    tmpInv[a] = entry.getKey(); 
    a++;
    //String key = entry.getKey();
    //Object value = entry.getValue();
    // ...
}
Arrays.sort(tmpInv);

itemList.setItems(tmpInv);

inventoryPane  = new ScrollPane(itemList, skin);
Run Code Online (Sandbox Code Playgroud)

这是我得到的,它工作正常.我想在每个项目前面添加描述性图标,但我似乎无法让它工作.我还需要一些方法来获取添加后所选内容的名称.目前我用

itemlist.getSelectedIndex();
Run Code Online (Sandbox Code Playgroud)

结果

inline image scrollpane libgdx scene2d

8
推荐指数
1
解决办法
3985
查看次数