Java 使用libGDX的android绘图应用程序

Java 使用libGDX的android绘图应用程序,java,android,libgdx,Java,Android,Libgdx,我是libGdx框架的新手,但我已经开发了几个月的android应用程序。我面临的问题是,我无法找到一种方法来制作一个应用程序,在这个应用程序中,我可以在用户使用手势时绘制项目。 我已经搜索了很多,但是找不到使用libgdx框架执行以下操作的方法 基本上我的计划是: 我将检查用户是否正在拖动“IsDraging()”,如果是,我希望使用“DDA算法”根据从“Gesturedetection”界面的“dragstart()”接收到的输入创建线,但我没有从方法接收到任何数据 根据用户的操作,将呈现p

我是libGdx框架的新手,但我已经开发了几个月的android应用程序。我面临的问题是,我无法找到一种方法来制作一个应用程序,在这个应用程序中,我可以在用户使用手势时绘制项目。 我已经搜索了很多,但是找不到使用libgdx框架执行以下操作的方法

基本上我的计划是:

  • 我将检查用户是否正在拖动“IsDraging()”,如果是,我希望使用“DDA算法”根据从“Gesturedetection”界面的“dragstart()”接收到的输入创建线,但我没有从方法接收到任何数据

  • 根据用户的操作,将呈现pixmap


  • 任何类型的帮助都会很有帮助。

    假设您使用的是Scene2D,您可以轻松地使用绑定到后台的DragListener来获取(x,y)指针位置,新用户将触到后台并移动其指针

    stage.addListener( 
        new DragListener()
        {
            public void drag(InputEvent event, float x, float y, int pointer)
            {
                Vector2 v = new Vector2(x, y);
                positionArray.add(v); //positionArray is Array<Vector2> type in this example
            }
        }
    );
    
    stage.addListener(
    新DragListener()
    {
    公共无效拖动(InputEvent事件、浮点x、浮点y、整数指针)
    {
    vector2v=新的Vector2(x,y);
    positionArray.add(v);//本例中positionArray是数组类型
    }
    }
    );
    
    然后,您可以记住阵列中的位置(例如,阵列似乎是很好的选择),在渲染部分,您可以使用shaperender或其他工具渲染这些点。因为你记住了所有的点,所以当你使用“橡皮”时,你可以很容易地把它们去掉

    问候,,
    Michał

    我必须为我3年前制作的一款游戏实现同样的功能。解决这个问题。我把我的dekstop和main项目的所有东西都放到android项目中,然后为了绘图板的特殊功能,我使用原生android,从游戏活动切换到绘图活动,然后在绘图后切换回游戏活动。当时场景2d并不多,我使用的是0.9.6,我认为随着最近的发展,应该有一个解决方案,如果没有,那么你可以使用这个冗长而愚蠢的解决方案。你对实现橡皮擦有什么计划?。只是为了使用橡皮擦,我做了android切换的事情,你能不能在代码方面说得具体一点?不,我只是想有一个绘图应用程序并存储那些绘图对不起,我犯了一个错误-x和y是你开始拖动的od增量位置-你可以记住在一个可变的起点(有一个方法dragStart-看起来很像拖动,但触发了一次),然后添加到数组起点+(x,y),而不是od just(x,y),但它不起作用,因为下面只给了我一个黑屏,其他什么都没有