我在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;
}
};
如何修复代码才能正常工作?
答案 0 :(得分:0)
你应该在
的末尾打电话给return true;
if(pSceneTouchEvent.isActionDown())
和
if(pSceneTouchEvent.isActionMove())
示例:
if(pSceneTouchEvent.isActionDown())
{
...
return true;
}
if(pSceneTouchEvent.isActionMove())
{
...
return true;
}