2012-04-12 4 views
3

그래서 cocos2d에서 원형을 생성하고 스프라이트로 사용하고 싶습니다. 어떻게 할 수 있습니까? 내가 이런 걸 사용한다는 것을 알고cocos2d는 원 모양을 만들고 스프라이트로 사용합니다

glLineWidth(16); glColor4ub(0, 255, 0, 255); drawCircle(ccp(s.width/2, s.height/2), 100, 0, 10, NO); 를하지만 내가 어떻게 작동하는지 이해하기가 어렵다과 어떻게 당신이 정말로 CCSprite 인스턴스를 필요합니까

답변

4

스프라이트로 사용할 수 있나요? 당신은 CCNode의 하위 클래스를 만들 수 있습니다. 그 다음에는

- (void) draw 

메서드가 있습니다. 거기에 코드를 입력하십시오. 그것을 가지고 것이다 원은 중심 위치 (0.f, 0.f)

@implementation MyScene 

- (void) onEnter 
{ 
    [super onEnter]; 
    CCNode* myNode = [MyNodeSubclass node]; 
    [node setPosition: someRandomPosition ]; 
    [self addChild: node]; 
} 

@end 

@implementation MyNodeSubclass 

- (void) draw 
{ 
    glColor4f(255, 255, 255, 255); 
    CCPoint center = ccp(0.f, 0.f); 
    CGFloat radius = 10.f; 
    CGFloat angle = 0.f; 
    NSInteger segments = 10; 
    BOOL drawLineToCenter = YES; 

    ccDrawCircle(center, radius, angle, segments, drawLineToCenter);  
} 

@end 

이 엑스 코드 복사하지 않은, 바로 여기에이 코드 조각을 썼다, 그러나 당신이 원하는대로 작동합니다. ccDrawCircle는 CCDrawingPrimitives.h에 선언 된 cocos2d 함수입니다.

+0

나는 다음을 원합니다. –

+0

왜 CCSprite 인스턴스가 필요합니까? CCNode가 필요하지 않습니까? 어쩌면 나는 그 해결책을 찾기 위해 당신을 도울 수있다. – Morion

+0

나는 CCNode를 원한다. 나는해야만한다는 것을 안다. - (무효) 무승부이지만, 내 문제는이 방법에 무엇을 넣어야하는지, 내 장면에서 생성 된 원. 미안 해요 내 영어에 대한 나는 프랑스어 :) –