不能谷歌任何东西。实际上,关于这个新框架的信息很少。 我唯一能找到的就是将Core Image滤镜应用于纹理。但我想在图像上方绘制一个简单的矩形,我需要编写自己的CI过滤器..
有人对某个主题有所了解吗?
答案 0 :(得分:7)
如果您只需要一个矩形,请使用@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];
因此,要对纹理进行自定义绘制,可以使用,例如:
{{1}}
答案 1 :(得分:3)
纹理只是原始的图形表示,我不会用它们解决这个问题。
我会从纹理创建一个精灵,然后是第二个具有给定大小(例如100x100)&的矩形精灵。我会将它添加到给定位置的原始位置(例如CGPointZero
)。
SKSpriteNode *rectSprite = [SKSpriteNode spriteNodeWithColor:[SKColor magentaColor] size:CGSizeMake(100, 100)];
rectSprite.position = CGPointZero;
[originalSprite addChild:rectSprite];
这样矩形将成为精灵的一部分。所有对父精灵(具有纹理的精灵)的变换/动作也适用于它。