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

时间:2014-02-13 22:23:10

标签: android libgdx

我正在努力寻找与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()来控制线条的情况。我知道我可以绘制一个矩形而不是一条线来设置宽度,但是Pixmap似乎没有任何旋转方式,所以我不知道如何做到这一点。

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

2 个答案:

答案 0 :(得分:1)

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

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

我对这个解决方案不是很满意,但它有点工作。

答案 1 :(得分:0)

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