이미 ImageView가 화면에 있지만 충돌 감지를 위해 사각형 주위에 넣고 싶습니다. 나는 이것을 시도했다 :안드로이드에서 사각형으로 이미지 푸팅
public void onDraw(Canvas canvas) {
int[] l = new int[2];
playerimage.getLocationOnScreen(l);
int xxx = l[0];
int yyy = l[1];
int w = playerimage.getWidth();
int h = playerimage.getHeight();
int[] ll = new int[2];
brickimg.getLocationOnScreen(l);
int xxxx = l[0];
int yyyy = l[1];
int ww = playerimage.getWidth();
int hh = playerimage.getHeight();
paint.setColor(Color.BLACK);
paint.setStrokeWidth(3);
canvas.drawRect(xxx, yyy, w, h, paint);
paint.setStrokeWidth(0);
paint.setColor(Color.BLACK);
canvas.drawRect(xxxx, yyyy, ww, hh, paint);
그러나 그것은 직사각형을 만들지 않는다. 이미지 주위에 사각형을 넣는 다른 방법이 있습니까? 나는 충돌 탐지를 위해 그것을하려고 노력하고있다.
1. 캔버스의 인스턴스가 실제로 화면의 크기가 아닌가요? IE. 사각형을 그리려고하는 것과 동일한 캔버스에 플레이어/벽돌을 그리는 중입니까? 2. 캔버스 그리기는 창 캔버스 좌표가 아닌 로컬 캔버스 좌표를 기준으로 이루어 지므로 캔버스 뷰의 경계 밖으로 벗어날 가능성이 큽니다. 3. 변수를 더 잘 명명하는 것이 좋습니다. 읽는 것은 터무니 없습니다. – Guardanis