iOS 8で追加されたSprite Kitの新機能をつまみ食い

iOS 8ではSpriteKitにかなり変更が加えられました。

概要はWhat’s New in iOS: iOS 8.0に、 詳細はSpriteKit Changesにまとめられています。
日本語だと、iOS 8 for Developers - Apple Developerに少しだけ記述があります。

※ ちなみに、iOS 7.1での変更点はiOS 7.0 to iOS 7.1 API Differencesにあり、ほんの少しだけです。

今回は、3D関連や物理エンジン、アニメーション関連など多数のアップデートがあり、Nodeの種類も増えました。

また、XcodeのGUIでシーンのコンテンツも編集できるようになりました。
Gameテンプレートを利用してプロジェクトを作成すると、sksファイルが用意されていてGUIでそのまま編集可能になっています。)

正直な所、変更点が多すぎて全て追えていないのですが、気になったものをいくつか触ってみました。

SKFieldNode

Fieldは「場」といったところでしょうか。 バネや放射状の物理効果を与えることができるようです。

かなりいろいろなことができるようで、まだ把握しきれていません。 ひとまず箱の周りを円がバネっぽく動くサンプルを作りました。


SKFieldNode

SKLightNode

光を追加するノードです。ドラクエの松明的な表現が簡単にできそうでありがたいです。 サンプルでは画面右上に置いています。

箱は光を受けているのがわかると思います。円は光の影響を受けていません。 (SKSpriteNodelightCategoryBitMaskが設定できため。どうやらSKSpriteNodeにしか適用できないようです。)


SKFieldNode

SKView#showsPhysics

Nodeに設定したSKPhysicsBodyを枠線で表示してくれる機能です。 iOS 7.1で追加されていたようです。知りませんでした。 これでようやく他の物理エンジンと同じように、物理体を目で確認しながらデバッグできるようになります。
色がかなり見づらいのが気になりますが…。


showsPhysics

今回はここまで。ソースコードはこちらです。
sj-posts-apps/iOS8Features at master · tnantoka/sj-posts-apps

他の作業をする中で新機能を触ることがあれば、また追記します。

編集履歴


comments powered by Disqus

SpriteKitではじめる2Dゲームプログラミング Swift対応 (Smart Game Developer)