SpriteKitを使って万有引力の法則をシミュレートする

Swift Playgroundsで学ぶiOSプログラミング
第48回

2017年07月24日 17時00分更新

文● 柴田文彦 編集●吉田ヒロ

 最近は、ある意味「自発的な動き」をテーマにしてプログラミングに取り組んでいます。前回からは、本格的な2Dアニメーションを驚くほど簡単に実現できるSpriteKitを使い始めました。今回もその続きですが、今回は動きがさらに「自発的」なものになります。なにしろある種の「場」に重力を設定し、その場の中に物体を置くだけで、重力に従って動く(落ちる)のです。その物体には「質量」もあり、表面の摩擦係数や反発係数なども設定できます。重力によって加速された物体は、他の物体に衝突すれば跳ね返り、表面の摩擦によって転がったりします。

 SpriteKitを使えば、こうした動きをプログラムとしては特に何も書くことなく、物理的な性質を備えた物体を場に置くだけで観察することができます。いわゆる「物理シミュレーション」が実現できるのです。これはこれまでに取り上げたプログラムによって記述してきた機能とは、まったく異なる世界のもののように感じられるでしょう。その意味を理解すれば、ショックさえ受けるのではないでしょうか。

 一度にあまり大きなショックを受けても困るので、前回のプログラムをわずかに変更して、なるべく単純なところから始めましょう。まずは「重力」を実感できるシーンを作ります。


この連載の記事

こんな記事も読まれています

コメントを残す