안녕하세요.

디펜스 게임 만들고 있는 1인입니다.

이미지 처리 여쭙고자 문의드립니다.

 

같은 캐릭터 여러마리 소환문제입니다(디펜스 게임).

 

캐릭터 정보는 모두 어레이리스트에 각각 저장할 것이고,

캐릭터를 생성할때 이미지도 같이 생성하게 되면,

캐릭터 동작이 많고 스프라이트 처리되기때문에 파일 이미지가 큰 관계로

메모리를 많이 잡아먹게 되더라고요...

(비트맵 제거시 변수는 확실히 비웠습니다.)

 

메모리를 줄이는 두가지 방법을 생각했는데...

 

첫번째,

어레이리스트 생성시 매번 이미지도 같이 생성하지말고,

캐릭터 이미지는 스테이지 시작시

관련된 캐릭터 이미지만 비트맵팩토리로 게임끝날때까지 딱 한번만 변수처리해놓고,

어레이리스트는 수치정보만 생성합니다.

그리고 캐릭터 위치에 각각 뿌려주는 것이죠... 아래의 수정할 코딩처럼요...

 

(현재코딩)
0.게임시작
1.버튼클릭으로 어레이리스트 캐릭터 생성 (누를때마다 이미지 생성-펙토리)
2.펙토링(이미지불러옴)
3.리사이징
4.객체의 특성치(이동속도, 공격속도 등)
 
(수정할 코딩)
0.게임시작
1.펙토링(이미지불러옴)
2.리사이징
3.버튼클릭으로 어레이리스트 캐릭터 생성  (이미지는 재사용)
4.객체의 특성치(이동속도, 공격속도 등)
 

두번째는,

캐릭터 동작의 비트맵 싸이즈를 모두 동일하게 처리하면 코딩이 매우 편하겠지만,

메모리가 매우 많이 잡먹는다는 이유로

사용하는 비트맵 영역만 잘라 사용하는 것입니다.

동작시 비트맵 사이즈가 모두 달라 뿌려줄때마다 각각 위치 보정을 해줘야하는 번거로움이 있지만,

메모리는 많이 줄어드는 것 같더라고요,

 

이렇게 두가지 생각을 해봤는데...

보통 디펜스 게임을 만들때는 어떤 코딩을 주로 사용하는지...

그리고 위의 두가지 방법이 효과가 있는지 등의

전문가님들의 조언을 구하고자합니다.

이제 시작하는 초보인 저에게 많은 힘을 주시면 감사하겠습니다.

추운데 감기조심하세요~

수고하세요~