我正在创建一个国际象棋游戏,我使用标志变量检查白色或黑色转弯。
首先,我通过在画布上使用表面视图和绘制位图来创建国际象棋棋盘,以显示国际象棋的元素。
但我的问题是,当我每次拨打onDraw()
时触摸画布时 - 方法即使我没有调用invalidate()
,并在onTouch()
@Override
public boolean onTouchEvent(MotionEvent event) {
if(white){
// Code for select
// Code for move element
// IF Invalid move ( Donot want to call onDraw() so i return here -
false and i did not call invalidate() but it redraw view)
}else if(black){
// same code for balck
}
}
答案 0 :(得分:1)
我注意到你总是(?)默认返回false
。一般情况下,如果您不知道要返回什么(返回true
表示您已使用该触摸事件),请改用return super.onTouchEvent(event);
。但是,这可能与您的问题无关。