読者です 読者をやめる 読者になる 読者になる

Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 764 - SpriteKitチュートリアルが中断してます(T_T)

ブログアップが後手に回り始めました。悪い徴候ですね。

諦めないで続きをします。

www.raywenderlich.com

この勉強をしてました。ノードを結合させるところまではできました。ジェスチャーを使ってビーカーを投げる動作を加えます。

func tossBeaker(strength: CGVector) {
    if beakerReady == true {
        if let beaker = childNode(withName: "beaker") {
            if let arm = 
              childNode(withName: "player")?.
                    childNode(withName: "arm") {
                let toss = SKAction.run() {
                    self.physicsWorld.
                        remove(self.pinBeakerToZombieArm!)
                    beaker.physicsBody?.applyImpulse(strength)
                    beaker.physicsBody?.applyAngularImpulse(0.1125)
                    self.beakerReady = false
                }
                let followTrough = 
                 SKAction.rotate(byAngle: -6*3.14, duration: 2.0)
                
                arm.run(SKAction.sequence([toss, followTrough]))
            }
            
                // explosion added later
        }
    }
}

ノードが融合している状態でbeakerReady変数を「true」にしています。まず、ノードを2つ用意します。ビーカーと腕(アーム)を分けます。そして、SKActionを発動させる時に融合しているノードを消して、ビーカーだけ力を加えて飛ばします。

ここでSKActionクラスをまだまだ理解できていません。

ちょっと勉強が要ります。