메뉴 건너뛰기

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

오늘에서야 안 것인데,

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 조회 수
85 COgg 질문 [3] A.미스릴 2008-06-29 3710
84 srand에 관해서 [4] A.미스릴 2008-07-15 3868
83 [수정]이거왜이러는거죠;; [4] file 상상악수 2008-08-19 3254
82 흥크립트에 궁금한점 [4] 상상악수 2008-08-21 3835
81 그럼 질문으로... [1] 쿠로쇼우 2008-09-26 3243
80 또질문 [2] 쿠로쇼우 2008-09-29 2854
79 C++ 질문 [1] A.미스릴 2008-12-21 3818
78 C++ 질문 2 [3] A.미스릴 2008-12-22 3565
77 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 2009-01-15 5550
76 흥크립트 질문. 글자에 관해서 [1] 에리 2009-03-21 3430
75 SRPG을 구현하게 되면 ... [3] 짜스터 2010-10-05 2708
74 데이터 축소에 대하여 [2] 짜스터 2010-10-13 2430
73 조금씩 게임 소스가 완성 되어 가는데요. [2] 짜스터 2010-11-16 2188
72 DirectX 창모드에서 화면 지워지는 문제 [7] file 똥똥배 2010-12-12 2790
71 2중 for문을 돌릴 때 [3] 똥똥배 2011-04-06 2539
70 lua와 C의 연동에서 상수(define이나 enum) 값처리 똥똥배 2011-05-25 3447
69 cocos2d-x 터치와 업데이트 활성화 시키기 똥똥배 2011-10-27 10656
68 TinyXML의 한계 [2] 똥똥배 2011-12-11 3756
» cocos2d의 가비지 컬렉터 똥똥배 2012-02-07 1962
66 중력 처리할때 캐릭터가 낍니다. [2] ㅁㄴㅇㄹ 2012-02-12 1395