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

Swiftで遊ぼう! on Hatena

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

Swiftで遊ぼう! - 767 - まだまだ試練は続く

まだSprite Kitを使ったチュートリアルをやっています。

www.raywenderlich.com

画面をタップしたらビーカーが腕から離れて飛んでいくところまで理解できました。

ビーカーとアームの別々のノードを融合させ、融合ノードに同じ物理空間(PhysicsBody)をまとわせましたが、タップすることでこの融合が外れ、ビーカーには力(Vector)が加わり飛んでいき、アームには回転の力がかかって回ります。

ビーカーは物理空間内で重力に影響を受けながら放物線を描いて飛んでいきますが、地面に落ちて止まります。

次は爆発シーンをアニメーションで表示する部分です。ここでSpriteKitの醍醐味に触れることができます。

SKSpriteNodeオブジェクトを作るんです。

newProjectile()メソッド内の最後に次のコードを加えます。

let cloud = SKSpriteNode(imageNamed: "regularExplosion00")
cloud.name = "cloud"
cloud.setScale(0)
cloud.zPosition = 1
beaker.addChild(cloud) 

このimageNamedでプロジェクト内のPNGイメージを使ってSKSpriteNodeオブジェクトを作ります。

f:id:yataiblue:20160901163051j:plain

ノードの名前をつけます。

setScaleはNodeのサイズをしてします。デフォルトで「1.0」でサイズがオリジナルサイズと同じです。ここで「0」に指定しているのでノードは消えます。そして、zPositionを設定しますが、ビーカーが「5」なので後ろ側って事になります。

そしてこのノードをビーカーに加えます。

今日はこれだけ。