【问题标题】:libgdx - creating a ninepatchlibgdx - 创建一个 Ninepatch
【发布时间】:2014-07-19 09:36:39
【问题描述】:

我正在阅读 https://github.com/libgdx/libgdx/wiki/Ninepatches

我的形象

toast_patch = new NinePatch(texture, 10, 10, 10, 10);

输出:

我只是得到边缘.. (忽略正文) 我该怎么办?

【问题讨论】:

  • 您可以在 9patch 上添加该图像的照片吗?或者一张你在 9patch 上的照片。
  • @GreenFox 只是一个纹理,里面没有 9 个补丁。
  • 我认为您应该使用九个补丁图像。它容易得多。只是一个建议。看我的回答。
  • 您的原始纹理有多大? 20x20?
  • @P.T.yes。我也试过用 4 16 4 16 作为参数。

标签: java android libgdx nine-patch


【解决方案1】:

您将纹理的整个宽度用于“角”,因此没有像素可以延伸到按钮的边缘或“中间”。 “九个补丁”应该有九个补丁。您已将纹理分成四部分(四个角),其他五个部分没有留下任何纹理数据。试试:

toast_patch = new NinePatch(texture, 7, 7, 7, 7);

(或沿一个轴总和不为 20 的任何值。第一个参数是左边缘像素的数量,第二个是右边缘像素的数量,隐含地,任何剩余的像素都用于 'middle ' 部分。对于顶部和底部也是如此。)

【讨论】:

    【解决方案2】:

    使用这张图片作为指导。我在你的问题上使用了你的图片。

    【讨论】:

    • 你的意思是用 4 18 4 18 改变参数?
    • 这个工具兄弟我知道,但是如何用libgdx添加九个补丁?
    【解决方案3】:
       graySkin = new Skin()
       grayAtlas = new TextureAtlas(Gdx.files.internal("ui/gray.pack"));
       grayAtlas.createPatch("patch");
       graySkin.addRegions(grayAtlas);
       grayButtonStyle = new TextButton.TextButtonStyle();
       grayButtonStyle.font = fontB44;
       grayButtonStyle.up = graySkin.getDrawable("patch");
    
        //gray.pack
        gray.9.png
        format: RGBA8888
        filter: Nearest,Nearest
        repeat: none
        patch
          rotate: false
          xy: 1, 1
          size: 100, 100
          split: 17, 17, 19, 19
          orig: 100, 100
          offset: 0, 0
          index: -1
    

    my gray button

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 2013-08-14
      • 2014-08-12
      • 1970-01-01
      相关资源
      最近更新 更多