【发布时间】:2014-03-06 07:32:31
【问题描述】:
我正在尝试使我绘制的所有 Sprite 都可拖动以用于一个小游戏。它应该能够触摸任何地方,并且精灵应该移动相同的距离,手指移动。
使用以下方法,它们将在 ACTION_MOVE 事件上移动,但速度很慢,距离更短,有时它们不会: addToX/Y 只将间隙添加到精灵的坐标
@Override
public boolean onTouchEvent(MotionEvent evt){
switch(evt.getAction()){
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
if(getHistorySize() > 0){
for(int i = 1, n = evt.getHistorySize(); i < n; i++){
int calcX = (int) getHistoricalX(i) - (int) getHistoricalX(i-1);
int calcY = (int) getHistoricalY(i) - (int) getHistoricalY(i-1);
for(Sprite sprite : spriteList) {
sprite.addToX(calcX);
sprite.addToY(calcY);
}
}
}
return true;
}
对此有什么想法吗?
【问题讨论】:
标签: android motionevent