栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在libgdx中使用scene2d.ui:皮肤从哪里来?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在libgdx中使用scene2d.ui:皮肤从哪里来?

要加载皮肤,您可以从libgdx测试项目中使用的示例皮肤文件开始。

  1. Atlaspack文件
  2. 杰森文件
  3. Atlaspack图片
  4. 字体文件

这个问题还有更多细节,我发现必须将文件移到资产的子目录中,以避免HTML版本中的错误。(如果我将文件保留在资产文件夹中,则会看到错误消息,例如“
GwtApplication:异常:读取文件数据/uiskin.json时出错。”)

我发布了一个显示单个按钮的完整示例,有趣的代码都在游戏类中。该示例非常简单,您只需要两个成员变量即可保存场景和按钮。

private Stage stage;private TextButton button;

要创建皮肤,只需加载数据文件。

Skin skin = new Skin(Gdx.files.internal("data/uiskin.json"));

将按钮连接到舞台上。

stage = new Stage();button = new TextButton("Click Me!", skin);stage.addActor(button);

将侦听器连接到按钮,然后注册舞台以接收事件。

button.addListener(new ClickListener() {    @Override    public void clicked(InputEvent event, float x, float y) {        button.setText("Clicked!");    }});Gdx.input.setInputProcessor(stage);

render()
方法基本上是对的调用
stage.draw()

Gdx.gl.glClearColor(1, 1, 1, 1);Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);stage.act(Math.min(Gdx.graphics.getDeltaTime(), 1 / 30f));stage.draw();

然后,您只需要在调整大小时布置屏幕即可。

button.setPosition(        (width-button.getWidth())/2,         (height-button.getHeight())/2);

如果您的屏幕更复杂,请考虑使用Table。

如果要使用其他字体,则可以使用Hiero生成字体文件和图像文件。完成此操作后,您将必须获取新的字体图像并使用TexturePacker将其与其他外观资源重新打包在一起。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595327.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号