java - 如何在 LibGDX 中通过路径绘制自定义形状?

标签 java android graphics libgdx shapes

考虑我必须创建一个由一些元素组成的自定义/复杂形状,包括直线、矩形和/或曲线(贝塞尔曲线、立方曲线......)。在标准 Java 中,我们有 Path2D 元素,它允许我们通过预定义点来执行其中一些元素。以下方法演示了一种通过某些点返回路径的简单方法:

    private Path2D aShape(double x, double y) {
        ArrayList<double[]> points = new ArrayList<>(
                Arrays.asList(
                        new double[]{x, y},
                        new double[]{x - (L * 0.2588190451), y - (L * 0.4482877361)},
                        new double[]{x, y - (L * 0.7071067812)},
                        new double[]{x + (L * 0.2588190451), y - (L * 0.4482877361)}));

        Path2D path = new Path2D.Double();
        path.moveTo(points.get(0)[0], points.get(0)[1]);
        for (int i = 1; i < points.size(); ++i) {
            //line or anything avaliable...
            path.lineTo(points.get(i)[0], points.get(i)[1]);
        }
        path.closePath();

        return path;
    }

之后,这个方法就可以通过Graphics2D来绘制。但是,我在 LibGDX 库中(至少还没有)找到任何以这种方式工作的元素,甚至没有找到提供绘制曲线或类似内容的函数的元素,如 Path2D。

对于我的测试,我试图画一个 music treble_clef通过遵循路径,但没有找到做到这一点的技巧。

通过传递的路径在 LibGDX 中执行自定义形状绘制的方法是什么?

最佳答案

您应该使用ShapeRenderer。它有绘制直线、圆弧、矩形等的方法。

Docs are here ,

关于java - 如何在 LibGDX 中通过路径绘制自定义形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58937254/

相关文章:

java - 连接表 sqlite android

android - 电话差距 sqlite 插件 vs websql

c++ - 如何在 Vulkan 中使用 DepthBuffer 作为 InputAttachment?

java - 如何向自定义 JavaFX 控件添加子组件和新属性?

java - 逐行图像 Swing

java.lang.ClassCastException : java. math.BigInteger 无法转换为 java.lang.Long

c - 如何用鼠标触发Turbo-C中的动画?

java - 当 A > 1 时,二次公式失败?

android - 当我将铃声模式设置为RINGER_MODE_SILENT时,手机仍然振动并且菜单中的图标设置为 'vibrate'图标

java - 如何知道是否在图形对象上单击