不能谷歌任何东西。实际上,关于这个新框架的信息很少。我唯一能找到的是将核心图像过滤器应用于纹理。但我想在图像上方绘制简单的矩形我需要编写自己的 CI 过滤器..
有人知道这个话题吗?
不能谷歌任何东西。实际上,关于这个新框架的信息很少。我唯一能找到的是将核心图像过滤器应用于纹理。但我想在图像上方绘制简单的矩形我需要编写自己的 CI 过滤器..
有人知道这个话题吗?
如果您只需要一个矩形,请使用@Kex 的解决方案。
通常,您可以从任何 UIImage 或 CGImage 创建纹理。[SKTexture textureWithImageNamed:@"Spaceship.png"]
真的只是为了方便[SKTexture textureWithImage:[UIImage imageNamed:@"Spaceship.png"]]
因此,要对纹理进行一些自定义绘图,您可以使用,例如:
UIGraphicsBeginImageContext(CGSizeMake(256, 256));
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[SKColor yellowColor] setFill];
CGContextFillEllipseInRect(ctx, CGRectMake(64, 64, 128, 128));
UIImage *textureImage = UIGraphicsGetImageFromCurrentImageContext();
SKTexture *texture = [SKTexture textureWithImage:textureImage];
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithTexture:texture];
[self addChild:sprite];
纹理只是原始的图形表示,我不会用它们来解决这个问题。
我会从纹理创建一个精灵,然后是具有给定大小(例如 100x100)的第二个矩形精灵,我会将它添加到给定位置(例如CGPointZero
)的原始精灵。
SKSpriteNode *rectSprite = [SKSpriteNode spriteNodeWithColor:[SKColor magentaColor] size:CGSizeMake(100, 100)];
rectSprite.position = CGPointZero;
[originalSprite addChild:rectSprite];
这样,矩形将成为精灵的一部分,并且对父精灵(具有纹理的精灵)的所有转换/动作也将应用于它。