메뉴 건너뛰기

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

흔히 구글에서 찾아보면 다음과 같은 Clipping Layer 소스를 찾을 수 있다.

 CCEGLView::sharedOpenGLView()->setScissorInPoints(    // scissorRect is the rectangle you want to show.
        clippingRegion.origin.x + getPosition().x, clippingRegion.origin.y + getPosition().y,
        clippingRegion.size.width, clippingRegion.size.height);

중요한 것은 저 setScissorInPoints에서 받아들이는 영역이 '절대 좌표'라는 것이다.
물론 그렇기에 getPosition().x을 추가해서 해당 Layer가 이동했을 때 적절하게 클리핑하려고 했고
보통은 여기서 크게 문제를 못 느낀다.

하지만!!

만약 클리핑 될 Layer가 최상단이 아닌 누군가의 자식으로 지역 좌표를 쓰고 있다면?
예를 들어 (0,100)에 있는 레이어에서 그 레이어의 (0,100)에 새로운 레이어를 생성하고 저 클리핑을 적용하면...
100만큼 잘려 버린다. 부모의 좌표가 반영되지 않으므로...

그리므로 getPosition() 부분을 월드 좌표로 바꿔줘야
자식 노드로 레이어를 생성해도 문제 없이 클리핑을 할 수 있다.

CCPoint world_pos = convertToWorldSpace(CCPointZero);

CCEGLView::sharedOpenGLView()->setScissorInPoints(    // scissorRect is the rectangle you want to show.
        clippingRegion.origin.x + world_pos.x, clippingRegion.origin.y + world_pos.y,
        clippingRegion.size.width, clippingRegion.size.height);

태그 :
조회 수 :
1117
등록일 :
2013.09.10
19:23:53 (*.75.88.173)
엮인글 :
게시글 주소 :
https://hondoom.com/xe/study/703178
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
185 Bootstrap4 container class가 적용된 div의 양 옆에 설정하지 않은 margin이 생김 노루발 662   2024-02-07 2024-02-07 14:25
 
184 express.js 세션 적용 후 리다이렉트 시 세션 적용이 제대로 안 되는 문제점 노루발 554   2024-02-07 2024-02-07 14:23
 
183 illegal character 방지 [3] 노루발 746   2023-07-17 2023-07-19 16:14
 
182 Lua-love2d TCP 통신 [1] 노루발 737   2023-07-14 2023-07-22 16:19
 
181 PHP로 웹게임 만드는 영상 [1] 노루발 1554   2021-06-25 2022-01-28 03:40
 
180 팁 certbot을 이용한 HTTPS 인증서 발급 및 적용 노루발 686   2021-01-12 2021-01-12 16:57
 
179 Love2d 게임 안드로이드로 패키징하기 노루발 703   2021-01-11 2021-02-21 01:45
 
178 팁 자동화된 Lua 스크립트의 문서화 - LDoc 노루발 44086   2021-01-11 2021-01-11 11:53
 
177 팁 리캡챠 적용 [1] 노루발 699   2021-01-08 2021-01-11 12:15
 
176 팁 Oracle cloud에 Nginx/MariaDB 설치하기 노루발 689   2020-12-06 2020-12-06 20:19
 
175 팁 Love2d로 만든 로그라이크 예제 노루발 978   2020-11-30 2020-11-30 22:54
 
174 팁 Love2d 이미지 하얗게 그리기 노루발 657   2020-11-23 2020-11-23 04:11
 
173 팁 루아 스타일 가이드 노루발 707   2020-11-19 2020-11-19 00:58
 
172 팁 턴 기반 시스템 구현에 대한 글 [4] 노루발 1266   2020-11-14 2020-11-18 05:49
 
171 팁 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 665   2020-11-12 2020-11-12 05:59
 
170 팁 love2d에서 안드로이드 터치 제스처 인식하기 노루발 645   2020-11-12 2020-11-12 00:38
 
169 팁 특정좌표를 기준으로 zoom in/zoom out하기 노루발 720   2020-11-11 2020-11-11 01:22
 
168 팁 Lua 클래스 만들고 활용하기 노루발 654   2020-11-06 2020-11-06 22:43
 
167 팁 Lua 테이블 안에 함수 저장하기 노루발 651   2020-11-06 2020-11-06 21:07
 
166 팁 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 697   2020-11-06 2020-11-06 20:29