¿Es posible generar / dibujar texturas con SpriteKit?

No puede google nada. En realidad es bastante poca información sobre este nuevo marco. Lo único que pude encontrar es aplicar el filter Core Image a una textura. Pero supongo que dibujar un rectángulo simple encima de la image. Necesito escribir un filter de CI propio.

¿Alguien sabe algo sobre el tema?

Si todo lo que necesita es un rectángulo, use la solución @ Kex.

En general, puede crear una textura desde cualquier UIImage o CGImage. [SKTexture textureWithImageNamed:@"Spaceship.png"] es realmente una conveniencia para [SKTexture textureWithImage:[UIImage imageNamed:@"Spaceship.png"]]

Entonces, para hacer un dibujo personalizado en una textura, puede usar, por ejemplo:

 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]; 

Las texturas son representaciones gráficas sin procesar, no resolveré esto con ellos.

Crearía un sprite de la textura, luego un segundo sprite de rectángulo con un tamaño determinado (por ejemplo, 100×100) y lo CGPointZero al original en una position determinada (por ejemplo, CGPointZero ).

 SKSpriteNode *rectSprite = [SKSpriteNode spriteNodeWithColor:[SKColor magentaColor] size:CGSizeMake(100, 100)]; rectSprite.position = CGPointZero; [originalSprite addChild:rectSprite]; 

De esta forma, el rectángulo será una parte del sprite y todas las transformaciones / acciones del sprite padre (el que tiene la textura) se aplicarán también a él.