Canvas
과 SurfaceView
을 사용하여 간단한 볼 게임을 만들려고합니다. 나는 공을 화면 주위로 움직이기를 원한다. 나는 이것을 onTouchEvent()
으로 구현했다. 나는 화면 어디에서나 볼을 성공적으로 움직일 수 있습니다. 하지만 내 문제는 내가 화면을 터치하고 볼을 움직이기 시작했을 때 볼이 화면을 터치 한 지점에서부터 움직이기 시작하는 것입니다.캔버스에서 안드로이드의 현재 위치를 얻는 방법
현재 위치에서 공을 이동하고 싶습니다. 이사를 시작할 때 어떻게 현재 위치를 알 수 있습니까?
private void draw(int updatedValue) {
canvas = surfaceHolder.lockCanvas();
canvas.drawColor(Color.RED);
canvas.drawBitmap(ball.getBitmap(), updatedValue, screenY - ball.getBitmap().getHeight() - 260, paint);
surfaceHolder.unlockCanvasAndPost(canvas);
}
여기 내 Ball.java 클래스 :
이public class Ball {
private int ball_x, ball_y;
private Bitmap bitmap;
private int minX, maxX;
public Ball(Context context, int screenX, int screenY) {
bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_ball);
maxX = screenX - bitmap.getHeight();
minX = 0;
}
당신의''ball'' 객체의 현재 x와 y..what을 가져와야합니까? –
''int previous_x = ballObject.getX();'''previous_x = event.getX()''와 같은 것 –
나는 그것을 얻지 못한다. – AbhayBohra