我正在尝试用图像/模式填充 SKShapeNode,但我仍然没有成功。
你能帮我解决这个问题还是给我一个替代方案? 我想创建一个填充图案图像的可碰撞自定义形状(来自任何 SpriteKit 类型)。
我尝试了以下方法:
UIBezierPath *path = [[UIBezierPath alloc] init];
[path addArcWithCenter:CGPointMake(0.0, 0.0) radius:50.0 startAngle:0.0 endAngle:(M_PI*2.0) clockwise:YES];
SKShapeNode *shape = [[SKShapeNode alloc] init];
UIImage *patternImg = [UIImage imageNamed:@"pattern"];
shape.path = path.CGPath;
shape.fillColor = [[SKColor alloc] initWithCGColor:[[UIColor alloc] initWithPatternImage:patternImg].CGColor];
并且:
shape.fillColor = [[SKColor alloc] initWithPatternImage:[[UIImage alloc] initWithCGImage:[UIImage imageNamed:@"Basketball"].CGImage]];
这有效 (但它不是我要找的):
shape.fillColor = [SKColor redColor];
谢谢!
最佳答案
我在我的游戏中遇到了示例问题,最后我的解决方案是添加一个 SKSpriteNode 作为 SKShapeNode 的子节点,它运行良好。
SKSpriteNode* node = [[SKSpriteNode alloc] initWithImageNamed:@"bombIcon.png"];
node.name = @"bomb";
node.size = CGSizeMake(10, 10);
[self.bombNode addChild:node];
其中 self.bombNode 是 SKShapeNode。
希望能帮助到你
关于ios7 - 用图案图像填充 SKShapeNode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20480145/