2011-06-12 2 views
1

Cocos2d에서 게임을 만들고 있습니다. 사용자의 손가락을 따라가는 점선이 있어야합니다. 나는 그 선을 똑바로하고 싶다. 문제는 볼과 사용자가 만지는 곳 사이의 거리에 '점'이 얼마나 많이 표시되는지 확인하려면 어떻게해야합니까? 그리고 볼의 위치와 손가락의 위치 사이에 STRAIGHT 라인을 따라 가도록할까요? 다시 정리하면 다음과 같습니다.Cocos2d 도움말의 '슬라이더 컨트롤'종류의 컨트롤

공이 여전히 화면 왼쪽에 있으며 화면의 중간에 있습니다. 사용자가 손가락을 드래그하면 볼의 위치와 터치의 위치 사이에 점선이 그려집니다. 나는 '도트 (dot)'이미지를 사용하고 있으며, 라인의 점으로 사용하고 싶습니다. 따라서 스프라이트를 두 지점 사이의 영역에 맞게 여러 번 다시 만들어야합니다. 나에게 더 명확히하기를 원한다면 말해줘, 고마워 !!

답변

0

나는 점선이나 뭐라 불리는 CCNode 객체를 만들 것이다.

점 이미지는 노드의 자식으로 추가되는 스프라이트가됩니다 (여러 번).

삼각법/피타고라스 법칙을 사용하여 공에서 손가락 터치까지의 경로를 알아 냈습니다.

라인 작성을 위해 : 나는 끝에 도달 할 때까지 포인트 0에서

은, 공, 내가 경로를 따라 터치 지점을 향해 15 ~ 20 개 픽셀을 추가 한 점을 배치 할을,이 반복 것 줄의.

배치 된 모든 점은 카운터를 증가시키고 해당 숫자를 업데이트 메소드에서 사용하기 위해 해당 스프라이트의 정수 태그로 설정합니다.

cctouchesmoved 메서드가 호출 될 때마다 dottedLine 개체에 대한 update 메서드를 호출합니다.

이 방법은 볼과 터치 포인트 사이의 거리를 확인하고 객체의 현재 자식 수로 나눈 다음 필요한 것을 제거하거나 추가합니다. 손가락을 움직일 때마다 스프라이트를 다시 만드는 것은 지저분하고 낭비가 될 수 있으므로 점을 재사용하고 공과 터치 포인트 변경 사이의 경로가 가장 좋을 때 새로운 위치를 설정하는 것이 좋습니다.

나는 당신에게 코드를 제공하지 않을 것이다. 나는 당신이 어떤 인터넷 검색을하고 이것을 해결하기에 충분할 것이라고 설명했다.

+0

몇 가지 코드를 입력 해 주시면 – yourface1234

+0

에 어떤 정보를 제공하는지 이해하는 데 도움이 될 수 있습니까? 나는 모든 것을 코드화하지 않을 것입니다. – Bongeh

관련 문제