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

Swiftで遊ぼう! on Hatena

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

Swiftで遊ぼう! - 768 - 爆発だ!

ビーカーを投げるメソッドここに書いています。

tossBeaker(strength: CGVector)メソッド内にコメントがあります。

 // explosion added later

ここに次のコードを加えていきます。

if let cloud = beaker.childNode(withName: "cloud") {
 
  // 1
  let fuse = SKAction.wait(forDuration: 4.0)
  let expandCloud = SKAction.scale(to: 3.5, duration: 0.25)
  let contractCloud = SKAction.scale(to: 0, duration: 0.25)
 
  // 2
  let removeBeaker = SKAction.run() {
    beaker.removeFromParent()
  }
  let boom = SKAction.sequence([fuse, expandCloud, 
                contractCloud, removeBeaker])
 
  // 3
  let respawnBeakerDelay = SKAction.wait(forDuration: 1.0)
  let respawnBeaker = SKAction.run() {
    self.newProjectile()
  }
  let reload = SKAction.sequence([respawnBeakerDelay, 
                 respawnBeaker])
 
  // 4
  cloud.run(boom) {
    self.run(reload)
  }
}

最初の3行のコードはアクションの設定です。fuseは待ち時間、expandCloudは0.25秒で3.5倍に大きくなるアクション、contractCloudは0.25秒で消えて無くなるアクションです。

今日はこれだけ。