2011-04-28 3 views
0

은 내가이 사용자 정의 클래스를했습니다적인 Cocos2D 0.99.5, 를 사용하여 아이폰 응용 프로그램을 쓰고 있어요 좌표 :ccDrawLine 선 그리기는

-(void) draw { 
    [super draw]; 
    glEnable(GL_LINE_SMOOTH);   
    glColor4f(0.8, 1.0, 0.76, 1.0); 
    ccDrawLine(p1, p2); 
} 

P1은 P2는 다음과 같이 계산됩니다

지금
CGPoint p1 = CGPointMake(self.position.x, self.position.y); 
....... 
//change the position 
....... 
CGPoint p2 = ccp(self.position.x, self.position.y); 

문제가 라인이 그려 도착한다 p1, p2 이외의 다른 점. 나는 포인트가 무언가로 변환 될 필요가 있다고 생각하지만 무엇을 모른다. &.

동일한 점을 수동으로 지정하면 선은 적절한 좌표로 그려집니다.

무엇이 부족합니까 ??

답변

0

그리기 기능으로 그리는 모든 것은 노드의 위치 (이 경우 헤드의 위치)와 관련이 있습니다. 따라서 p1을 설정 한 후 p2를 설정하기 전에 위치를 변경하면 예기치 않은 결과가 발생합니다. 수동 점을 사용하면 위치가 (0,0) 인 경우에만 선이 제대로 그려집니다.

+0

감사합니다, 나는 그것을 가지고 – Adam

0

월드 공간으로 변환 해보십시오 :

CGPoint p1World = [self convertToWorldSpace:p1]; 

CGPoint p2World = [self convertToWorldSpace:p2];