Mar*_*tin 4 ios uiedgeinsets sprite-kit
我目前正在尝试在 SKSpriteNode 上使用可拉伸图像。
通常,可拉伸图像由方法返回 UIImage::resizableImageWithCapInsets:
所以我写了这段代码:
SKTexture * texture = [SKTexture textureWithImage:[image resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)]];
SKSpriteNode * node = [SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(150, 8)];
Run Code Online (Sandbox Code Playgroud)
但它不起作用。节点在不考虑边缘插入的情况下拉伸自身。难道只有这样吗?
使用 的centerRect属性SKSpriteNode。假设您的纹理宽度为 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);
Run Code Online (Sandbox Code Playgroud)
centerRect在纹理的单位坐标中指定。更多信息在这里下“调整雪碧。”
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |