AndEngine在onSceneTouchEvent上绘制线条

时间:2013-01-01 20:27:53

标签: android line andengine

我是 AndEngine 的新手,我想在onSceneTouchEvent中使用我的手指坐标绘制一条线。我做了我所知道的所有事情,我认为它是对的,但有一些东西让它无法工作我不知道是什么,我无法发现问题:/

    private Scene scene;
float startX;
float startY;
float lastX;
float lastY;
int lineUsageCount = 0;

@Override
    public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
        switch (pSceneTouchEvent.getAction()) {
        case MotionEvent.ACTION_DOWN:

            startX = pSceneTouchEvent.getX();
            startY = pSceneTouchEvent.getY();
            lineUsageCount = 0 ;

        break;
        case MotionEvent.ACTION_MOVE:

            lineUsageCount++;
            lastX = pSceneTouchEvent.getX();
            lastY = pSceneTouchEvent.getY();

        break;
        case MotionEvent.ACTION_UP:

            if (lineUsageCount <= 5) {
                final Line line = new Line(startX, startY, lastX,
                                lastY, this.getVertexBufferObjectManager());

                line.setLineWidth(1);
                line.setColor(255, 255, 255);
                scene.attachChild(line);

        }

        break;
    }   
    return true;
    }
};

它应该获得第一个坐标startX, startY,然后在Action_Move上获取lastX, lastY并绘制线但它似乎不起作用:|

1 个答案:

答案 0 :(得分:5)

问题在于这行代码:if (lineUsageCount <= 5) { 移动手指时,lineUsageCount将远远超过5.调试此变量,然后在&#34; IF&#34;中更改它。或删除此&#34; IF&#34;来自你的代码。