我正在尝试用图像/模式填充 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/

10-10 20:54