Swift Playgroundsで学ぶiOSプログラミング 第47回
SpriteKitを使ってスプライトを動かしてみる
フェードインして回転して拡大してフェードアウトするプログラム
2017年07月17日 17時00分更新
このところ、なんらかの「動き」を表現できるプログラムを試すということで、前回まではUIViewPropertyAnimatorというクラスを利用したビューのアニメーションを扱ってきました。これは、手軽に扱えるというメリットは大きいものの、アニメーションとしての表現力には自ずと限界がありました。もちろん、主にユーザーインターフェイスの構成要素に動きを与えることで、画面の遷移などの際の変化をわかりやすく示すことを目的としたものなので、当然と言えば当然です。
今回からは、iOSのさまざまなアニメーション機能の中でも、特にゲームに使うことを意識して作られたSpriteKitを使っていきます。ゲーム用のアニメーションには大別すると2D用と3D用がありますが、SpriteKitは2D用のものです。2Dゲーム用のフレームワークというと、一般にはCocos-2Dが有名です。iOSでもCocos-2Dを利用してゲームを開発することは可能ですが、サードパーティーのフレームワークを利用することになるため、それだけ手続きは面倒です。それに対してアップル純正のSpriteKitなら、インポート文を1つ書くだけで使えるので簡単です。Swift PlaygroundsでCocos-2Dが使えるかどうか、まだ試したことはありませんが、不可能ではないかもしれないものの、かなりの苦労を伴うものとなるでしょう。
今回からSpriteKitを使ってゲームを開発するのか、と思われるかもしれませんが、ちょっと違います。まずはSpriteKitを使って何ができるかを知るために、SpriteKitならではアニメーション機能を探っていきます。それを応用すればゲームの開発も可能ですが、実際のゲーム制作は、各人の興味に任せることにしたいと思います。
この連載の記事
- 第100回 SceneKitの物理現象シミュレーションとアニメーションをARKitに持ち込む
- 第99回 「物理学体」と「物理学場」を設定して物理現象をシミュレーション
- 第98回 SceneKitのノードに動きを加えるプログラム
- 第97回 いろいろな形のノードをシーンの中に配置する
- 第96回 SceneKitの基礎シーンビュー、シーン、ノードを理解する
- 第95回 現実世界の床にボールや自動車のモデルを配置する
- 第94回 ARKitを使って非現実世界との融合に備える
- 第93回 ARKitが使えるiPadを識別するプログラム
- 第92回 Swift Playgrounds 2.1での問題点をまとめて解消する
- 第91回 iPadの内蔵カメラで撮影した写真を認識するプログラム
- この連載の一覧へ