[iOS] SKShapeNode 에 SKEffectNode 를 사용하여 Blur 효과 주는 방법
SKShapeNode 에 SKEffectNode 를 사용하여 Blur 효과 주는 방법
// 먼저 SKSpapeNode 를 생성한다
SKShapeNode *shape = [SKShapeNode node];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(-50, -50, 100, 100) cornerRadius:5];
shape.path = path.CGPath;
shape.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
shape.fillColor = [UIColor WhiteColor];
// 이제 SKEffectNode 를 생성한다
SKEffectNode *effect = [SKEffectNode node];
effect.ShouldEnableEffects = YES;
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setDefaults];
[filter setValue:@(3.5) forKey:@"inputRadius"];
effect.filter = filter;
[effect addChild:shape];
[self addChild:effect];
위와 같이 하면 Blur 가 적용된 Shape 를 볼 수 있다.
이 소스로 나머지는 활용하면 되겠다.
// 먼저 SKSpapeNode 를 생성한다
SKShapeNode *shape = [SKShapeNode node];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(-50, -50, 100, 100) cornerRadius:5];
shape.path = path.CGPath;
shape.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
shape.fillColor = [UIColor WhiteColor];
// 이제 SKEffectNode 를 생성한다
SKEffectNode *effect = [SKEffectNode node];
effect.ShouldEnableEffects = YES;
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setDefaults];
[filter setValue:@(3.5) forKey:@"inputRadius"];
effect.filter = filter;
[effect addChild:shape];
[self addChild:effect];
위와 같이 하면 Blur 가 적용된 Shape 를 볼 수 있다.
이 소스로 나머지는 활용하면 되겠다.
댓글
댓글 쓰기