안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
조금씩 공부해가고 있는 초보입니다.
간단한 게임을 만들어보려고 하는데요.
막히는 부분이 있어서 질문 드립니다.
1. 앵그리버드나 구슬치기등의 게임들의 경우에 게임의 탄(정확한 명칭을 뭐라해야할지 모르겠네요.)이 꽤 많이 있는데요.
1탄 image버튼을 누르면 1탄이 시작되고, 2탄 image버튼을 누르면 2탄이 시작되고 등등..
각 탄에 해당하는 화면이 모두 다른 경우에는 view가 아닌 activity를 사용해야 하나요?
만약 그렇다면 각 탄에 대응하는 activity를 모두 만들어야 하나요?
개념적으로는 배열에 각 탄을 넣어놓고, 필요할 때 불러올 수 있을 것 같은데 이게 가능한지 궁금합니다.
2. 또, image button을 만들 때에 평상시와 클릭했을 때의 이미지 두 개를 drawable 폴더에 넣고, xml파일을 만들어서
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/player_play_r" />
<item android:drawable="@drawable/player_play" />
</selector>
이런식으로 만들던데요.
이건 image button 하나하나마다 xml을 다 만들어줘야 하는 건가요?
1번 2번 둘 다 노가다로 다 만들지 않더라도 배열이나 list를 이용해서 간단하게 할 수 있는 방법이 있을 듯한데 아직 모르겠네요.
보통 어떻게들 하시는지 궁금합니다.




탄(stage)의 경우 다음과 같이 처리가 가능합니다.
상위메뉴 Activity와 StageActivity를 만들고 상위메뉴에서 Stage를 고르면 StageActivity에서 Stage번호를 가지고
그에 맞는 리소스와 알고리즘 등을 로딩하면 됩니다. 근데 이런 경우는 설계를 상당히 잘해야 합니다.
안그러면 일일이 만드는거 보다 훨씬 어렵습니다.
2번의 경우는 배경과 내용물 이미지를 분리하면 그나마 괜찮습니다. 보통 배경은 같이 쓰니까요.
하지만 항상 같지 않은 부분은 일일이 만들수 밖에 없습니다.
배열이나 리스트 뭘 동원해도 어차피 다른것들은 만들게 될겁니다.