오, 소년. 최근 프로토 타입에서이 문제를 해결 한 것 : 앞으로의 일은 유감입니다. 이 작업을 수행하는 데는 두 가지 방법이 있으며 둘 다 깨끗하거나 단순하지 않습니다.
더 직관적 인 접근 방식은 카메라 위치를 이동하는 것입니다. 장면의 CCCamera를 조작하여이 작업을 수행 할 수 있습니다. 이런 의미에서, 평면 위에 비행기를 비행하는 것처럼 세계를 스크롤 할 수 있습니다. 모든 객체가 '실제 위치'를 유지하기 때문에 객체 간의 충돌 감지는 간단합니다. 스프라이트가 게임 세계에서 (100,100)에 있고 카메라 500을 왼쪽으로 스크롤하면 스프라이트는 여전히 (100,100)에 남아 있습니다.
불행하게도, 이것은 터치 입력과 관련된 많은 문제를 야기합니다. 터치 좌표가 화면의 해상도로 제한되기 때문에 '이 터치가이 노드에 있는지'를 더 이상 쉽게 확인할 수 없습니다. 카메라가 (1000,1000)에 있고 화면 가운데에서 스프라이트를 터치하면 해당 터치 위치는 (320,280) (화면 중간)에 등록됩니다. 모든 터치 계산에는 이제 카메라의 오프셋이 포함되어야하며, 기억하기가 까다로 우며 반복해서 포함하는 것이 좋습니다.
두 번째 방법은 세계를 CCLayer에 넣고 그 레이어를 카메라 아래로 이동하는 것입니다. 나는이 접근법이 더 많은 번거 로움을 발견했다. 그래서 나는 그것을 오랫동안 추구하지 않았다.