SWGradientNode
0.2
适用于Swift 2.3
。
>= 0.3
适用于Swift 3
。
>= 0.6
适用于Swift 4.2
。
>= 0.7
适用于Swift 5.0
。
SWGradientNode
是SKSpriteNode
的子类,可以围绕中心点绘制带有初始角度的扫描渐变。
将以下内容放入Podfilepod 'SWGradientNode/ObjC'
(Objective-C项目)或pod 'SWGradientNode/Swift'
(Swift项目)。
导入#import <SWGradientNode/SWGradientNode.h>
或import SWGradientNode
。
该类适用于iOS和OSX。
用法
@implementation SmoothGradientScene
- (void)didMoveToView:(SKView *)view {
[super didMoveToView:view];
self.backgroundColor = [SKColor someColor];
NSArray<SKColor *> *colors = ...; // some array of colors
SWGradientNode *node =
[[SWGradientNode alloc] initWithColors:colors
locations:nil // or other locations
bounds:view.bounds
gradientType:SWGradientTypeSmooth];
node.innerRadius = someValue;
[self addChild:node];
}
@end
@implementation ViewController
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
SKView *skView = (SKView *)self.view;
if (!skView.scene) {
SmoothGradientScene *smoothGradientScene = [SmoothGradientScene sceneWithSize:skView.bounds.size];
smoothGradientScene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:smoothGradientScene];
}
}
位置数组长度必须比颜色数组长度少一个。
选择以下任一类型:SWGradientTypeSmooth
或SWGradientTypeStep
。
扫描渐变的中心在(0.0, 0.0)和(1.0, 1.0)之间。(0.0, 0.0)是底部左角(OSX)或顶部左角(iOS)。(1.0, 1.0)是顶部右角(OSX)或底部左角(iOS)。默认值是(0.5, 0.5)。
渐变的第一个颜色从初始角度开始,初始角度在0和2*PI弧度之间。0在x轴上指向右侧。所有颜色都位于逆时针顺序。默认值是0。
渐变节点的内部半径将不会在这个半径的圆形内绘制渐变。值介于0和0.5之间。默认值是0。