Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在libgdx中拉伸按钮?_Java_Opengl_Libgdx - Fatal编程技术网

Java 在libgdx中拉伸按钮?

Java 在libgdx中拉伸按钮?,java,opengl,libgdx,Java,Opengl,Libgdx,在libgdx中,您可以创建一个TextButtonStyle,其中包含用于向上和向下状态的图像,但是当您设置按钮的大小时,它会拉伸图像。有没有制作一个按钮样式,允许你设置按钮的角、边和中间,这样它就不会拉伸按钮图像,而只是平铺边和中间的图像?例如,java的swing库中的按钮可以设置为任何大小,而不具有拉伸外观,但在libgdx中,按钮会拉伸其图像以适合矩形。这在圆形按钮上更为明显。如何修复此问题?您要查找的是一个名为NinePatch。基本上,这是一种特殊的图像,定义了图像中可拉伸和不可拉

在libgdx中,您可以创建一个TextButtonStyle,其中包含用于向上和向下状态的图像,但是当您设置按钮的大小时,它会拉伸图像。有没有制作一个按钮样式,允许你设置按钮的角、边和中间,这样它就不会拉伸按钮图像,而只是平铺边和中间的图像?例如,java的swing库中的按钮可以设置为任何大小,而不具有拉伸外观,但在libgdx中,按钮会拉伸其图像以适合矩形。这在圆形按钮上更为明显。如何修复此问题?

您要查找的是一个名为
NinePatch
。基本上,这是一种特殊的图像,定义了图像中可拉伸和不可拉伸的部分。NinePatch的一个典型用例是一个按钮,因为您通常不希望边缘被拉伸,而只是拉伸其余部分

实例化的一个简单示例是:

 NinePatch patch = new NinePatch(new Texture(Gdx.files.internal("knob.png")), 12, 12, 12, 12);

有关此示例的更多详细信息,您可以查看关于NinePatches

的wiki页面,或者他可以创建.9 png文件并将其作为常规纹理加载。我想它也可能有用。