是否可以在Cocos2d精灵中渲染拉伸的UIImage?

时间:2012-09-25 20:30:12

标签: iphone ios cocos2d-iphone uiimage

我可以创建一个图像并将其添加为UIImageView(下面注释掉的行)。然后图像呈现拉伸状态。

当我将它放在一个精灵中时,它只会渲染原始的非拉伸图像,可能是因为图像视图没有更改以拉伸图像,因为它尚未添加到视图中。

有没有一种方法可以在没有图像视图的情况下将图像渲染为拉伸,然后将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];

我知道有一些Cocos2d类,比如CCSpriteScale9,但我很好奇是否有办法这样做。

1 个答案:

答案 0 :(得分:0)

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

(据我了解这个问题)