2011-03-16 1 views

답변

0

각 부분별로보기를 할 수 있습니다. 각 뷰에 동일한 핸들러를 제공 한 다음 핸들러가 클릭 된 뷰를 전달하므로 어떤 뷰가 루프의 if (pieceView == touchedView)를 클릭했는지 확인하십시오.

또한

Activity.dispatchTouchEvent(MotionEvent) 

함수를 재정의 할 수있다. 이것은 터치 된 코 이드를 줄 것이고 거기에서 어느 부분이 만져 졌는지 알 수 있습니다. 명심해야 할 것은 X와 Y 값은 픽셀 단위이며 화면 해상도는 휴대 전화에 따라 달라질 수 있다는 점입니다. 이러한 값을 사용하기 전에 이러한 값을 해상도 독립 값으로 변환하는 것이 좋습니다.

성능 측면에서 볼 때 매우 느릴 수 있습니다. 기존 보드 게임을 제작하는 경우 너무 많은 문제가 발생하지 않아야합니다.

+0

대답은 잘 생각하고 유능한 것 같습니다. 내 낮은 수준의 프로젝트에 가장 적합 할 수 있습니다. 그러나 Romain Guy의 두 번째 대답을 지적하고자합니다. 그는 Google의 Android 부서의 수석 소프트웨어 엔지니어입니다 (아래 참조). – samClem

0
자신이 주로 인용이기 때문에 내가 "자신을"응답 할 것이다

...

로맹 가이, 구글 그에게 내 직접 질문에 대답 에서 소프트웨어 엔지니어 :

안녕,

게임 조각 하나당 하나의 ImageView를 사용하는 것은 좋지 않습니다. 대신 사용자 정의보기를 만들고 onDraw() 메서드에서 캔버스에 조각을 그려야합니다. 이것은 훨씬 더 효율적입니다. 로맹에

덕분에 - 그냥 을 공유하고 싶었 그의모두 코멘트 관심!

관련 문제