并且在移除手指后移除线条

时间:2013-05-29 17:54:31

标签: android andengine

我在移除手指后试图分离一条线,所以在ACTION_UP上。 它似乎不起作用

    @Override
    public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) throws Exception {
            mScene = new Scene();

            mScene.setOnSceneTouchListener(new IOnSceneTouchListener() {
                @Override
                public boolean onSceneTouchEvent(final Scene pScene, final TouchEvent pSceneTouchEvent) {
                   if(pSceneTouchEvent.getAction() == TouchEvent.ACTION_DOWN) {
                      isDrawing = true;
                      i = 0;
                   }
                   if (isDrawing = true) {
                      rec[i] = new Rectangle(pSceneTouchEvent.getX(), pSceneTouchEvent.getY(), 1, 1, getVertexBufferObjectManager());
                      if (i != 0) {
                         l = new Line(rec[i-1].getX(), rec[i-1].getY(), rec[i].getX(), rec[i].getY(), getVertexBufferObjectManager());
                         l.setColor(0.5f, 1f, 0.3f);
                         mScene.attachChild(l);
                      }
                      i++;
                   }
                   if(pSceneTouchEvent.getAction() == TouchEvent.ACTION_UP) {
                       isDrawing = false;
                       mScene.detachChild(l);
                    }
                   return true;
                }
             });

            pOnCreateSceneCallback.onCreateSceneFinished(mScene);
    }

在ACTION_DOWN中它会用我的手指绘制线条,但在ACTION_UP中线条应该分开,为什么不是?

1 个答案:

答案 0 :(得分:1)

这是你的问题:

if(isDrawing = true)

您将isDrawing指定为'true',而不是将其值与'true'进行比较。 然后,检查if语句,这将是每次都是真实的。这将使您每次都画画。 将其更改为:

if(isDrawing)