-(void)startNewScene{
[self removeAllChildren];//Clear
NSImage *image=[NSImage imageNamed:@"down"];
//image.size=CGSizeMake(self.barWidth*2, self.frame.size.height);
NSColor *color=[NSColor colorWithPatternImage:[NSImage imageNamed:@"down"]];
SKSpriteNode *sprite= [SKSpriteNode spriteNodeWithColor:color size:CGSizeMake(200, 300)];
sprite.position=CGPointMake(10, CGRectGetMidY(self.frame));
SKAction *move=[SKAction moveToX:self.frame.size.width duration:1];
SKAction *goBack= [SKAction moveToX:-self.barWidth duration:0];
SKAction *action=[SKAction sequence:@[move,goBack]];
[sprite runAction:[SKAction repeatActionForever:action]];
[self addChild:sprite];
}
大家好,我想创建一个图案颜色的节点,这是一个图像,但这段代码根本不起作用。
我尝试了3种不同格式的3种不同图像,所以我认为这不是问题。 我知道变量图像是无用的,但我用它来理解nsimage是否是问题。当我查找图像的值时,它已经创建了一个断点,但它的宽度和高度都是0.
我真的不明白为什么这根本不起作用(节点没有出现)。
答案 0 :(得分:3)
具有color属性的Sprite Kit节点不支持使用图案图像的颜色。它必须是纯色,例如您使用colorWithRed:green:blue:alpha:
创建的颜色。
您应该在图像程序中创建图案图像并将其添加到图像包中。如果将图案图像设置为灰度,则可以在运行时将其着色以创建各种颜色组合。例如,棋盘白/黑图案图像和精灵节点的颜色设置为红色将给你一个黑色&红色图案。调整精灵节点的colorBlendFactor以控制颜色分量的“亮度”。
答案 1 :(得分:1)
Here is a link describes how to draw a background with a pattern image
我在Swift的SKScene版本中做了一些更改:
obj