【问题标题】:Is there any way to reference a drawable in your skin json file that will be added during runtime?有没有办法在运行时添加的皮肤 json 文件中引用可绘制对象?
【发布时间】:2016-05-11 04:14:39
【问题描述】:

所以通常在皮肤的 json 文件中,您可以将纹理区域的名称从图集中放置到参考图像中。但是,如果您想引用仅在运行时添加的内容怎么办?有没有办法指定将存在但在启动时不存在的纹理区域的名称?

【问题讨论】:

    标签: libgdx scene2d


    【解决方案1】:

    在创建Skin 实例(由皮肤的构造函数调用)时正在处理 JSON 文件,因此唯一的方法是等待创建皮肤,只要您满足 TextureAtlas。当然,您需要将这个 TextureAtlas 实例而不是 .pack/.atlas 文件的 FileHandle 传递给皮肤使用

        Skin(FileHandle skinFile, TextureAtlas atlas)
    

    皮肤构造函数的版本。

    另一种选择是不在 JSON 文件中包含 future 组件,而是通过使用将它们添加到皮肤中

        public void add(java.lang.String name,
                java.lang.Object resource,
                java.lang.Class type)
    

    动态添加纹理后

    【讨论】:

    • 我明白了,所以我的问题是我有 2 个纹理图集 - 一个用于游戏元素,另一个用于 UI 元素。我只想能够通过我的皮肤访问两者。我可以在运行时添加纹理区域,但我想我只能访问皮肤 JSON 中的一个纹理图集,不能同时访问两者。其他纹理图集/区域需要在代码中动态添加。如果我错了,请纠正我。
    猜你喜欢
    • 2019-12-10
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    相关资源
    最近更新 更多