首页 文章

在libgdx中绘制和存储用户的触摸路径

提问于
浏览
5

我正在努力寻找与libgdx直截了当的东西 .

简而言之,这是一个“手指画”应用程序,我想绘制一个用户触摸屏幕的特定宽度的路径 .

我之前使用普通的Android android.view.View 做到了这一点 . 我有 android.graphics.Path ,其中存储了用户当前触摸的坐标 . 在视图的 onDraw() 方法中,我绘制了 android.graphics.Canvas 的路径 . 每当用户释放一根手指时,我都会绘制一条离线画布/ android.graphics.Bitmap 的路径,该画布也是在 onDraw() 方法中绘制的 . 干净利落 .

如何使用libgdx完成?

我尝试使用 com.badlogic.gdx.graphics.Pixmap ,我可以在用户移动手指时画一条线 . 这很好用,除了我无法使用 Gdx.gl.glLineWidth() 来控制线的witdh . 我知道我可以绘制一个矩形而不是一条线来设置宽度,但是Pixmap没有看到如何做到这一点 .

我可以使用 com.badlogic.gdx.graphics.glutils.ShapeRenderercom.badlogic.gdx.Screen.render() 中绘制线条(或矩形) . 据我所知,然后我需要存储当前触摸的每个触摸点,然后在渲染上绘制所有线条 . 每当用户关闭手指时,我想我可以按原样存储屏幕,如 com.badlogic.gdx.utils.ScreenUtils.getFrameBufferPixmap() . 希望有一种更简单的方法来实现我想要的 .

2 回答

  • 0

    我最终在pixmap上绘制圆圈,其中的行应该是:

    • touchDown上有一个圆圈

    • 从最后一个触摸点到下一个触摸点的几个圆圈报告为touchDragged

    我对这个解决方案不是很满意,但它有点有效 .

  • 1

    也许你可以手动计算线点坐标并使用三角形在像素图上绘制它们?喜欢用2个三角形来形成(旋转)盒子?

相关问题