Swiftで遊ぼう! - 725 - Sprite Kitの実装にも色々な知識がいります
Sprite Kitを使ったシンプルゲームのチュートリアルを勉強してます。
SKViewの勉強をしたかったからです。SKViewに表示するコンテンツはSKSceneクラスということも分かりました。そして個々のオブジェクトはSKSpriteNodeクラス、普通は「ノード」と呼ばれ、SKActionクラスを加えることで動きが加わります。
今日は個々の「ノード」のインタラクションを実装していきます。
実はこのインタラクションには物理的ルールが存在していて、UIViewの世界ではUIDynamicAnimatorという物理世界があることを以前勉強しました。
SKViewでは異なる物理世界を実装していきます。UIViewとSKViewでは座標システムが異なるからです。こういう問題をProtocol-Oriented Programmingで解決することができるのかもしれません。
ではSKViewにおける物理世界の概要をみます。
- まずPhysics Worldを設定します。
- Physics Worldで物理法則を受けるために、ノードにPhysics Bodyを組み込みます。
- そして理解し難い言葉が出てきました。「カテゴリー」です。Physics Bodyのプロパティなのですが、これが「ビットマスク」なんだそうです。ビットマスク? また知らない単語が出てきました... 私のような素人のプログラミング勉強が捗らない理由の1つが基礎力の無いところです(^^;) ビットマスクの勉強を改めてします。
- ノードに物理空間を設定しても、デリゲーションメソッドを実装しないかぎり物理空間は動きません。この考え方はUIDynamicAnimatorの実装を勉強したときに理解しているので意味は分かります。
これがSprite Kitの基本空間です。
まだまだですね。今日はここまで。