메뉴 건너뛰기

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

오늘에서야 안 것인데,

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


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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

Cocos2d에서는 순리인 듯 하다.


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

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

태그 :
조회 수 :
1963
등록일 :
2012.02.07
05:31:33 (*.140.69.176)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=469395
List of Articles
번호 제목 글쓴이 날짜 조회 수
125 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 2020-11-12 37
124 love2d에서 안드로이드 터치 제스처 인식하기 노루발 2020-11-12 20
123 특정좌표를 기준으로 zoom in/zoom out하기 노루발 2020-11-11 59
122 Lua 클래스 만들고 활용하기 노루발 2020-11-06 24
121 Lua 테이블 안에 함수 저장하기 노루발 2020-11-06 28
120 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 2020-11-06 41
119 TinyXML의 한계 [2] 똥똥배 2011-12-11 3761
118 cocos2d-x 터치와 업데이트 활성화 시키기 똥똥배 2011-10-27 10657
117 중력 처리할때 캐릭터가 낍니다. [2] ㅁㄴㅇㄹ 2012-02-12 1395
» cocos2d의 가비지 컬렉터 똥똥배 2012-02-07 1963
115 lua와 C의 연동에서 상수(define이나 enum) 값처리 똥똥배 2011-05-25 3452
114 2중 for문을 돌릴 때 [3] 똥똥배 2011-04-06 2539
113 Windows To Go와 R-Studio를 이용한 손실된 데이터 복구하기 노루발 2020-01-30 89
112 DirectX 창모드에서 화면 지워지는 문제 [7] file 똥똥배 2010-12-12 2790
111 조금씩 게임 소스가 완성 되어 가는데요. [2] 짜스터 2010-11-16 2190
110 데이터 축소에 대하여 [2] 짜스터 2010-10-13 2430
109 SRPG을 구현하게 되면 ... [3] 짜스터 2010-10-05 2709
108 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 2009-01-15 5550
107 흥크립트 질문. 글자에 관해서 [1] 에리 2009-03-21 3430
106 C++ 질문 2 [3] A.미스릴 2008-12-22 3565