메뉴 건너뛰기

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

오늘에서야 안 것인데,

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
번호 제목 글쓴이 날짜sort 조회 수
85 문D라이브로 더블드래곤을 만들자(6) [2] file 똥똥배 2008-04-23 3114
84 문D라이브로 더블드래곤을 만들자(5) [6] file 똥똥배 2008-04-21 3072
83 C++ 데이터의 바이트 용량 임의로 정의할수 없나영 [1] A.미스릴 2008-04-21 3059
82 문D라이브로 더블드래곤을 만들자(4) [2] file 똥똥배 2008-04-20 3213
81 문D라이브로 더블드래곤을 만들자(3) file 똥똥배 2008-04-18 3430
80 문D라이브로 더블드래곤을 만들자(2) [6] file 똥똥배 2008-04-18 3612
79 VC++ 2008 Express Edition에서 문D라이브 링크 [2] A.미스릴 2008-04-17 13090
78 문D라이브로 더블드래곤을 만들자(1) [2] file 똥똥배 2008-04-16 4479
77 임의의 점이 다각형 내부에 있는지 검사하는 함수 똥똥배 2008-04-14 5358
76 명령문 질문드립니다. [1] X-tra 2008-03-26 2244
75 저는 사실 이걸 잘 못해요. [3] 앟랄 2008-03-26 2282
74 OgreOde 사용기 똥똥배 2008-03-25 3184
73 웹 프로그래밍을 배우려고 합니다. [2] Kadalin 2008-03-22 2171
72 흥크립트 클릭명령 질문입니다. [1] 카시 2008-03-18 2009
71 흥크립트 키입력 질문 [1] A.미스릴 2008-03-15 2363
70 그림 출력의 순서를 알고 싶습니다. [3] X-tra 2008-03-12 2466
69 그러고보니, 흥크립트에서.. [1] 장펭돌 2008-03-10 1693
68 안녕하세요~ 질문하러 왔습니다. [6] X-tra 2008-03-09 1894
67 흥크립트 원인불명 버그... [3] file 네모상자 2008-02-16 738
66 흥크립트 AVI 재생.. [2] 장펭돌 2008-02-14 1851