Възможно ли е да се изобрази разтегнато UIImage в Cocos2d спрайт?

Мога да създам изображение и да го добавя като 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, но съм любопитен дали има начин да го направя по този начин.


person TigerCoding    schedule 25.09.2012    source източник


Отговори (1)


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

(доколкото разбирам въпроса)

person brigadir    schedule 26.09.2012
comment
Това само разтяга спрайта. Търся да разтегна разтегливата част на спрайта, подобно на resizableImageWithCapInsets в кода по-горе. - person TigerCoding; 26.09.2012
comment
CCScale9Sprite в този случай (github.com/YannickL/CCControlExtension /blob/master/). Съжалявам за погрешното разбиране на въпроса. - person brigadir; 27.09.2012