0

在我移开手指后,我正试图分离一条线,所以在 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 中,线应该分离,为什么不是?

4

1 回答 1

1

这是你的问题:

if(isDrawing = true)

您将 isDrawing 分配给“true”,而不是将其值与“true”进行比较。然后,检查 if 语句,每次都为真。这将导致您每次都绘制。将其更改为:

if(isDrawing)
于 2013-05-29T19:27:52.333 回答