저는 안드로이드 게임을 제작하고 있습니다. 이것은 모범 사례와 성능 질문 이상의 것입니다.안드로이드 게임 전용 비트 맵
사용자가 상호 작용하는 비트 맵의 경우 이미지 뷰에 배치하고 개별적으로 onTouchListener를 설정해야합니다. 그렇지 않으면 캔버스에 그려야하며 사용자 정의보기의 onTouch 메서드를 사용해야합니다. 터치의 x와 y를 확인하고 터치를 감지하기 위해 비트 맵의 범위에 속하는지 확인합니다.
내 사용자 지정보기가 전체 화면을 차지하고 캔버스를 사용하여 화면에 이미지 뷰를 그릴 수있는 경우 어떻게해야할지 모르겠다. 이제는 onTouch 메서드 만 사용합니다.
어떤 통찰력에도 감사드립니다.
응답 해 주셔서 감사합니다. 나는 그래픽을 렌더링하기 위해 surfaceView를 사용한다. 그것은 전체 화면을 차지하지 않으며 나는 canvas.drawBitmap 메서드를 사용하여 모든 비트 맵을 그립니다. 이것이 그 일을하는 길인지 궁금 해서요. 아니면 surfaceView 받아 2/3의 화면을 누른 다음 relativelayout 또는 뭔가를 어디에 내가 imageview를 구현하고 각 이미지에 대한 수신기를 만들 수 있습니다. 그러나 나는 그것이 옳다고 생각하지 않는다. – CBaker
이 작업을 수행하는 데 좋은 방법이 있습니다. 리스너에서 X 및 Y 위치 만 가져올 수 있고 Rects로 그려진 비트 맵을 추적 할 수 있습니다. rect에 "contains"메서드를 사용하여 이벤트가 있는지 그 비트 맵 직사각형 내부는 간단하고 성능 친화적입니다 ... –
아, 그 말이 맞습니다. 그래서 그것이 올바른 방법입니다. 비트 맵을 그린 다음 뷰에서 onTouch 메서드를 구현하고 X 및 Y를 가져온 다음 x 및 y가 이미지의 경계에 있고이를 터치했는지 여부를 확인합니다. 각 비트 맵에 대한 이미지 뷰를 만들지 않고 각 imageViews에 대해 개별 onTouchListener를 설정합니까? – CBaker