【问题标题】:Can i make ripple effect in spritekit?我可以在 spritekit 中制作涟漪效果吗?
【发布时间】:2013-10-10 08:50:30
【问题描述】:

我正在尝试在 spritekit 中使用波纹效果。这里我写的涟漪代码是

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

CATransition *animation=[CATransition animation];
[animation setDelegate:self];
[animation setDuration:1.75];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[animation setType:@"rippleEffect"];
[animation setFillMode:kCAFillModeRemoved];
animation.endProgress=0.99;

[animation setRemovedOnCompletion:YES];
[self.view.layer addAnimation:animation forKey:nil];
}

当我触摸屏幕上的任何位置时,通过使用此代码会产生一波涟漪。但我想专门在一个节点上产生涟漪效应。就像屏幕上的触摸点周围 10 个半径的圆圈。

请帮忙。 提前致谢。

【问题讨论】:

    标签: ios7 xcode5 sprite-kit


    【解决方案1】:

    核心动画效果在核心动画层级别上工作,您的 Sprite Kit 视图是一个层,无论其中的场景和节点发生什么。

    要仅对 Sprite Kit 节点层次结构的一部分应用类似类型的效果,您可以使用 SKEffectNode 类,它可以将 Core Image 过滤器应用于渲染其子节点的结果。对于动画,您可以在场景的 update: 方法中随时间调整滤镜参数。

    问题在于没有方便的方法来使用它来产生涟漪效果,具体来说:CIRippleTransition 是一个过渡滤镜,而不是单图像输入滤镜,您只能将后一种与 @ 一起使用987654325@。不过,随着时间的推移改变 CITorusLensDistortion 参数可能是一个不错的替代品。

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 2016-04-25
      • 2021-10-15
      • 1970-01-01
      相关资源
      最近更新 更多