2012-09-25 3 views
0

이미지를 만들고 UIImageView (아래 주석 처리 된 줄)로 추가 할 수 있습니다. 그러면 이미지가 늘어납니다.Cocos2d 스프라이트에서 확장 된 UIImage를 렌더링 할 수 있습니까?

스프라이트에 배치 할 때 뷰에 추가되지 않았기 때문에 이미지보기가 이미지를 늘 이도록 변경하지 않았기 때문에 원래의 비연 신 이미지 만 렌더링합니다.

이미지보기없이 이미지를 늘려 렌더링 할 수있는 방법이 있습니까? 그렇다면 CGImage를 스프라이트로 가져 오시겠습니까?

UIImage *image = [UIImage imageNamed:@"your_cool_image_here.png"]; 
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(25, 25, 25, 25)]; 
UIImageView *view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; 
view.image = image; 

//[[[CCDirector sharedDirector] view] addSubview:view]; 

CGSize size = [[CCDirector sharedDirector] winSize]; 

CCSprite *sprite = [CCSprite spriteWithCGImage:view.image.CGImage key:@"image"]; 
sprite.anchorPoint = ccp(0.5, 0.5); 
sprite.position = ccp(size.width /2 , size.height/2); 
[self addChild:sprite]; 

나는이 같은 CCSpriteScale9 등이 일부적인 Cocos2D 클래스,하지만 이런 식으로 할 수있는 방법이 있는지 궁금 해요 알고있다.

답변

0
[sprite setScaleX: 320/sprite.contentSize.width scaleY: 50/sprite.contentSize.height]; 

는 (지금까지 내가 질문을 이해)

+0

이것은 단지 스프라이트를 뻗어. 위의 코드에서 resizableImageWithCapInsets와 비슷한 스프라이트의 신축성있는 부분을 늘리려 고합니다. 그 경우에는 – TigerCoding

+0

'CCScale9Sprite' (https://github.com/YannickL/CCControlExtension/blob/master/CCControlExtension/CCControl/Utils/CCScale9Sprite.h). 질문을 오해해서 죄송합니다. – brigadir

관련 문제