我正在尝试重新构建Metaballs上的这个Github Swift项目,以便圆圈由SKShapeNodes代表,而不是SKActions CABasicAnimation.
我对viewController中出现的各种Metaball参数(handleLenRate,Spacing等)不感兴趣.我基本上希望能够使用SKActions为动画指定开始和结束位置.
我不确定如何实现这一点,特别是如何startAnimation用SKActions 替换下面SKShapeNode的函数:
func startAnimation() {
let loadingLayer = self.layer as! DBMetaballLoadingLayer
loadingAnimation = CABasicAnimation(keyPath: "movingBallCenterX")
loadingAnimation!.duration = 2.5
loadingAnimation!.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
loadingAnimation!.fromValue = NSValue(CGPoint:fromPoint)
loadingAnimation!.toValue = NSValue(CGPoint: toPoint)
loadingAnimation!.repeatCount = Float.infinity
loadingAnimation!.autoreverses = true
loadingLayer.addAnimation(loadingAnimation!, forKey: "loading")
}
Run Code Online (Sandbox Code Playgroud)
请看下面我能做的事情:
MBCircle 类:
struct MBCircle {
var center: CGPoint = CGPointZero
var radius: CGFloat = 0.0
var frame: CGRect {
get {
return CGRect(x: center.x - radius, y: center.y - radius, width: …Run Code Online (Sandbox Code Playgroud)