【问题标题】:AndEngine draw line onSceneTouchEventAndEngine画线onSceneTouchEvent
【发布时间】:2013-01-01 20:27:52
【问题描述】:

我是 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 并画线,但它似乎不起作用:|

【问题讨论】:

    标签: android line andengine


    【解决方案1】:

    问题出在这行代码中:if (lineUsageCount &lt;= 5) { 当您移动手指时,lineUsageCount 将远远超过 5。调试此变量,然后在“IF”中更改它或从代码中删除此“IF”。

    【讨论】:

    • 我删除了 If 并且当我触摸屏幕时应用程序崩溃 .. logcat: E/AndroidRuntime(28129): FATAL EXCEPTION: UpdateThread .. E/AndroidRuntime(28129): java.lang.NullPointerException @浣熊
    • 好像忘记初始化场景了:Scene scene = new Scene();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多