2013-12-18 64 views
3

我正在嘗試在SKSpriteNode上使用可拉伸圖像。在SKSpriteNode上使用resizableImageWithCapInsets

通常,strechable圖像通過該方法返回UIImage::resizableImageWithCapInsets:

所以我寫的代碼:

SKTexture * texture = [SKTexture textureWithImage:[image resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)]]; 
SKSpriteNode * node = [SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(150, 8)]; 

但它不工作。節點在不考慮邊緣插入的情況下自行流播。這是唯一可能的嗎?

回答

3

使用SKSpriteNodecenterRect財產。假設你的紋理50個像素寬,你要不要拉伸最左和最右邊的10個像素:

SKTexture *texture = [SKTexture textureWithImage:image]; 
SKSpriteNode *node = [SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(150, 8)]; 
node.centerRect = CGRectMake(10/50.0, 0, 30/50.0, 1); 

centerRect在單位指定的紋理座標。 「調整雪碧大小」下的更多信息here