在 libgdx 中按像素绘制形状
Drawing shapes by pixel in libgdx
我正在尝试在 libgdx 中绘制不断变化的形状,所以我认为使用 sprite 不会奏效,我想知道是否可以使用调用的函数绘制形状为每个像素确定是否应该绘制它。
我要画的是垫圈的一部分(由两个同心圆和两个半径围成的区域),圆和半径不断变化。
我想知道的是这里是否有一种绘制由函数确定的复杂形状的方法(该形状将由 (x,y)
for wich theFunction(x,y)=true
组成)而不是图像
使用Pixmap会有帮助吗?
您可以创建一个像素图:
Pixmap pixmap = new Pixmap(300, 300, Pixmap.Format.RGBA8888);
然后在该像素图上绘制具有特定颜色的像素:
pixmap.drawPixel(x, y, color);
然后您可以从该像素图创建纹理并绘制纹理。不过我不确定这种解决方案的性能。
另请参阅 libgdx wiki 中的 Pixmaps。
一切皆有可能。最佳解决方案实际上取决于您要创建的内容的细节。也许你可以举例说明你的意思?
没有看到示例,看起来您可能想从 ShapeRenderer 开始。参见 the javadocs for detailed information on how to use it. That should get you started and if you find it to be insufficient in some way then you at least you have a more specific question。
顺便说一句,按照@Ludevik 的建议使用 Pixmap 也是可能的,但是由于您希望它不断变化,这意味着每帧都上传整个图像,这不是很高效。
我正在尝试在 libgdx 中绘制不断变化的形状,所以我认为使用 sprite 不会奏效,我想知道是否可以使用调用的函数绘制形状为每个像素确定是否应该绘制它。
我要画的是垫圈的一部分(由两个同心圆和两个半径围成的区域),圆和半径不断变化。
我想知道的是这里是否有一种绘制由函数确定的复杂形状的方法(该形状将由 (x,y)
for wich theFunction(x,y)=true
组成)而不是图像
使用Pixmap会有帮助吗?
您可以创建一个像素图:
Pixmap pixmap = new Pixmap(300, 300, Pixmap.Format.RGBA8888);
然后在该像素图上绘制具有特定颜色的像素:
pixmap.drawPixel(x, y, color);
然后您可以从该像素图创建纹理并绘制纹理。不过我不确定这种解决方案的性能。
另请参阅 libgdx wiki 中的 Pixmaps。
一切皆有可能。最佳解决方案实际上取决于您要创建的内容的细节。也许你可以举例说明你的意思?
没有看到示例,看起来您可能想从 ShapeRenderer 开始。参见 the javadocs for detailed information on how to use it. That should get you started and if you find it to be insufficient in some way then you at least you have a more specific question。
顺便说一句,按照@Ludevik 的建议使用 Pixmap 也是可能的,但是由于您希望它不断变化,这意味着每帧都上传整个图像,这不是很高效。