onAreaTouched无法正常工作

时间:2014-02-22 13:54:35

标签: java android andengine

我在Android中使用AndEngine但它无法正常工作。我正在设计西洋双陆棋板和石头与动画精灵。当用stones(isActionDown)触摸场景时,拖动石头向上或向下移动。

动画精灵的代码是:

    {
        @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX,
            float pTouchAreaLocalY) {
            float tx = 0,ty=0;
            float px=0,py=0;

            if(pSceneTouchEvent.isActionDown())
            {
                tx=pSceneTouchEvent.getX();
                ty=pSceneTouchEvent.getY();

                //System.out.println("initial-->\n"+"Gray1.getX(): "+Gray1.getX()+"Gray1.getY(): "+Gray1.getY());
            }
            if(pSceneTouchEvent.isActionMove())
            {

                Gray1.setPosition(pSceneTouchEvent.getX() - mGrayStoneTexture1.getWidth()/2, pSceneTouchEvent.getY() - mGrayStoneTextureRegion1.getHeight()/2);
                px=pSceneTouchEvent.getX();
                py=pSceneTouchEvent.getY();
                //System.out.println("move-->\n"+"Gray1.getX(): "+Gray1.getX()+"Gray1.getY(): "+Gray1.getY());
            }
            //System.out.println("tx: "+ tx + "ty: " + ty + "px: "+ px + "py: " + py);
            return false;
        }
    };

如何修复代码才能正常工作?

1 个答案:

答案 0 :(得分:0)

你应该在

的末尾打电话给return true;
if(pSceneTouchEvent.isActionDown())

if(pSceneTouchEvent.isActionMove())

示例:

            if(pSceneTouchEvent.isActionDown())
            {
                ...
                return true;
            }
            if(pSceneTouchEvent.isActionMove())
            {
                ...
                return true;
            }