2012-09-25 45 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