마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 슈팅게임 적 한테 hp부여하기 질문이요!!!!

0 추천

제가 안드로이드 슈팅게임예제를 응용하여 원래 미사일한개에 적이 바로 remove 되는 것을 

적에게 hp를 넣어 여러번 맞으면 삭제 되게 할려고 합니다.
아래는 충돌처리할때 소스입니다.
 
public void CheckCollision() {
 
for (int i = m_pmslist.size() - 1; i >= 0; i--) {
for (int j = m_enemlist.size() - 1; j >= 0; j--) {
if (CollisionManager.CheckBoxToBox(m_pmslist.get(i).m_BoundBox,
m_enemlist.get(j).m_BoundBox)) {
 
if (m_enemlist.get(j).hp == 50) {
m_enemlist.get(j).hp = m_enemlist.get(j).hp
- m_pmslist.get(i).hp;
} else {
m_enemlist.get(j).hp = m_enemlist.get(j).hp
- m_pmslist.get(i).hp;
if (m_enemlist.get(j).hp == 0) {
 
m_enemlist.remove(j);
return;
}
m_pmslist.remove(i);
}
Log.d("ga", m_enemlist.get(j).hp + "입니다.");
}
 
}
}
플레이어 미사일과 적이 충돌하면 충돌한 적의 hp가 50(초기값)이면 미사일의값 10만큼 감소해서 0이 되면 remove 시킬려고 합니다. hp감소와 적삭제 까지는 잘되는데 잘되다가도 계속 오류가 나서 질문드립니다.
오류내용은 
android indexoutofboundsexception invalid index 0 size is 0 
이게 계속 뜨는데 검색 해보니 어레이 리스트에서 get할려는데 데이터가 없다고 하는 것 같은데 
도무지 어떻게 해결해야 될지 모르겠습니다.
hp감소 부분의 소스를 빼면 오류는 발생하지않습니다.
hp부여부분의 문제점이 있다면 또 알려주세요~~
제발 도움좀 부탁드립니다.!!
박수범 (120 포인트) 님이 2015년 6월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...