我正在为一个班级开发一个简单的游戏应用程序。现在我正在尝试实现简单的功能,即将角色(图像视图)从当前所在的位置移动到点击屏幕的任何位置。我现在有这个,但没有动画,所以角色只是从屏幕上的一个位置跳到我点击屏幕的位置。 这是代码:
@Override
public boolean onTouchEvent(MotionEvent event) {
float tx = event.getX();
float ty = event.getY();
int action = event.getAction();
switch(action) {
case MotionEvent.ACTION_DOWN:
tx = event.getX();
ty = event.getY();
findViewById(R.id.character).setX(tx-45);
findViewById(R.id.character).setY(ty-134);
break;
default:
}
return true;
}
此代码位于GameActivity.java文件中,我目前已控制在您点击“玩游戏”并进入游戏屏幕后发生的任何类型的活动。 我试图让角色(imageView)从当前位置移动到屏幕被轻轻敲击的位置,所以我点击屏幕,角色在一段时间内从当前位置移动到发生敲击的位置。请帮忙!
答案 0 :(得分:0)
ImageView splash ;
@Override
public boolean onTouchEvent(MotionEvent event) {
float tx = event.getX();
float ty = event.getY();
int action = event.getAction();
switch(action) {
case MotionEvent.ACTION_DOWN:
tx = event.getX();
ty = event.getY();
// findViewById(R.id.character).setX(tx-45);
// findViewById(R.id.character).setY(ty-134);
ObjectAnimator animX = ObjectAnimator.ofFloat(splash, "x", tx-45);
ObjectAnimator animY = ObjectAnimator.ofFloat(splash, "y", ty-134);
AnimatorSet animSetXY = new AnimatorSet();
animSetXY.playTogether(animX, animY);
animSetXY.start();
break;
default:
}
return true;
}