메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

오늘에서야 안 것인데,

cocos2d에는 가비지 컬렉터가 존재한다.


스프라이트를 생성하고 Node에 연결하지 않으면,

얼마 후 가비지 컬렉터가 이를 지워 버린다.

스프라이트를 생성하면 바로 Node에 연결해줘야 한다는 것이다.


내 경우, 게임 중에 메모리 할당을 하는 것은 조금이라도 속도에 영향을 준다고 생각해서

스테이지 로딩 시에 미리 스프라이트들을 생성,

플레이 중에는 이를 처리하느냐 마느냐를 나타내는 플래그만 조절함으로

빠른 속도로 스프라이트가 나타나고 사라지게 만들었다.


하지만 가비지 컬렉터가 존재하기 때문에 노드에 연결해 놓지 않으면 사라져 버리고,

노드에 연결하면 화면에 보이고, 업데이트 부분에서 처리되기도 한다.

물론 위치를 화면에서 아주 밖으로 줘서 보이지 않게 하거나,

특별 처리 코드를 추가하는 방법도 있지만,

쓸데없이 코드가 복잡해지고, 복잡해짐 = 버그 발생율 증가이므로 그다지 마음에 들지 않는다.


가비지 컬렉터를 OFF시키는 옵션이 있을지는 모르겠지만,

메모리 관리상 있는게 깔끔할 것 같기도 하고,

크게 속도에 영향을 안 미친다면 그냥 생성해서 바로바로 노드에 붙여주는 식으로 만드는 게

Cocos2d에서는 순리인 듯 하다.


이걸 몰라서 만들어 둔 스프라이트들이 사라지는 바람에

어디서 에러나는지 이해를 못하고 몇시간을 헤멨다.

태그 :
조회 수 :
1962
등록일 :
2012.02.07
05:31:33 (*.140.69.176)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=469395
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
125 흥크립트로 만든 예제 2 [2] file 대슬 2007-12-01 2118
124 게임 만들때는 게임 기획을 해야 합니다. [7] 똥똥배 2008-02-12 2106
123 흥크립트로 만든 예제 [1] file 대슬 2007-12-01 2051
122 [re] 혼돈님께 질문 혼돈 2007-12-25 2048
121 여러분 질문있어요. 성심성의껏좀 알려주세요 흑흑 [6] 케르메스 2006-02-11 2022
120 흑곰님 질문 [2] 라컨 2005-08-22 2015
119 흥크립트 클릭명령 질문입니다. [1] 카시 2008-03-18 2009
118 [질문]알만툴 게임 [1] 허클베리핀 2006-12-28 1974
117 질문 2가지+1 [2] file Wonder 2007-11-30 1964
» cocos2d의 가비지 컬렉터 똥똥배 2012-02-07 1962
115 질문 있습니다.. C언어 인거 같은데 [7] 포오ㅏ로 2005-02-24 1957
114 cocos2d-x 외부파일을 이용한 한글 처리 [1] 똥똥배 2013-07-08 1938
113 흥크립트 if-else 문 흉내내기 [4] 똥똥배 2008-02-12 1933
112 [re] 흥크립트 개선점 [3] 똥똥배 2008-02-09 1928
111 밑에 포와로님의 질문 답 [4] 대슬 2005-02-24 1900
110 안녕하세요~ 질문하러 왔습니다. [6] X-tra 2008-03-09 1894
109 흥크립트 원인불명 버그 [5] 흑곰 2008-01-23 1891
108 [번역] gamedev레딧의 Getting Started 문서 번역 [5] priling 2014-12-26 1890
107 비베 질문 [2] 재피디 2005-09-10 1888
106 스크립트 질문좀 하겠습니다....이벤트에 대한것!! [2] 여유 2007-04-23 1859