2012-09-25 133 views
0

我能夠創建一個圖像,並將其添加爲UIImageView(下面的註釋行)。圖像然後呈現拉伸。是否可以在Cocos2d精靈中渲染拉伸的UIImage?

當我把它放在一個精靈中時,它只會呈現原始的非拉伸圖像,可能是因爲圖像視圖沒有改變來拉伸圖像,因爲它沒有被添加到視圖。

有沒有一種方法可以在沒有圖像視圖的情況下將圖像呈現爲拉伸狀態,然後將CGImage導入到sprite中?

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]; 

我知道有一些cocos2d的類此,如CCSpriteScale9但我很好奇,如果有一種方法可以做這種方式。

回答

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