2010-12-07 1 views
0

메모리/페어 게임을 만들고 싶습니다. 현재 캔버스에서 작동하는 초안을 만들었고 카드는 그리드로 그려집니다.GridView with images vs 사용자 정의 그리기 Canvas for Android 메모리 게임

이것은 현재 기본 버전에서 작동하지만 쇼를 애니메이션으로 처리하고 싶습니다 (카드를 돌릴 때 뒤집어서 더 높은 크기로 조정하거나 일치하는 것이 발견되면 카드가 회전합니다). Canvas에서이 작업을 수행하는 것을 상상할 수는 없지만 많은 시간을 들여 손으로 애니메이션을 작성해야만 할 것입니다.이 간단한 작업에서는 지나치게 복잡해 보입니다.

카드를 표시하고 해당 컨트롤에 대한 터치 이벤트에 반응하는 컨트롤에 대해 View 하위 클래스를 만들 수 있으며 Android 자체에서 이미지의 그림 크기를 조절할 수 있으며 가장 중요한 것은 일부 효과에 Tween Animation을 사용할 수 있음을 나타냅니다

내 질문은 - 게임에서 각 카드에 대해보기를 사용하고 (5x6 또는 4x5 카드를 가질 수 있음) GridView에 정렬 할 수 있습니까? 이 접근법에 몇 가지 함정이 있습니까? 아니면 완전히 사용자 정의 된 Canvas로 계속해야합니까?

답변

1

이렇게 단순한 게임의 경우보기 컬렉션을 사용해도 좋을 것입니다. 조회수를 수동으로 시도하는 대신보기를 사용하면 무료 인 많은 Animation 기능에 액세스 할 수 있습니다.

또한 사용자 인터페이스를 캡처하기 위해 각보기에 onClickListeners를 추가하기 만하면 훨씬 간단하게 사용자 인터페이스를 구현할 수 있습니다. Canvas에 수동으로 모두 그릴 수 있다면 터치를 직접 해석하고 어떤 카드를 건드린 것인지 결정해야합니다. 너무 어렵지는 않지만 View를 서브 클래 싱하는 것이 더 좋은 모델이며, 결과적으로 더 깔끔한 코드가됩니다.

카드가 30 장 밖에 없으므로 퍼포먼스 문제가 있다고 상상할 수 없습니다. 100+ 이상을 생각하면 문제가있을 수 있지만 괜찮다고 생각합니다. 또한 게임을 올바르게 이해하면 대다수의 카드에 대부분 애니메이션이 적용되지 않으므로 걱정할 필요가 없습니다. 애니메이션으로 성능 문제가 발생하면 모든 애니메이션을 쉽게 저장할 수 있습니다 애니메이션 기간 동안 비트 맵 (캔버스)을 봅니다.

+0

가능한 240x320 화면에서 Pairs 게임에 100+ 카드를 장착하면 아주 작은 카드가 생겨서 그런 일이 발생하지 않을 것입니다 :-) 감사합니다 – Axarydax

+0

안녕하세요 pheelicks, Axarydax와 동일한 문제로 고통 받고 있습니다. 그리드를 사용하고 있습니다. 여러 장의 카드를 보여 주겠다.하지만 카드를 뒤집을 수는 없다. 단일 이미지 또는 프레임 레이아웃 하나만 사용하면 격자보기 대신 잘 작동합니다. 어떻게 gridview 세포의 애니메이션을 설정할 수 있습니까? – amity

관련 문제