キツネ君が3D空間を駆け回る、Apple の SceneKit サンプルゲームです。
Fox: Building a SceneKit Game – Apple Developer
Version 2.2, 2016-09-13
https://developer.apple.com/library/archive/samplecode/Fox/Introduction/Intro.html
Xcode 8, iOS 9 向けサンプルで、コードベースがやや古く、そのままではコンパイルが通りませんでした。
今回は、これを現代の Xcode + iPhone でも動かせるように修正しました。
修正ポイント
・Swift 3 から Swift 5.3 に更新
・悪しき Storyboard の廃止
・悪しき UIViewController を廃止して SwiftUI に変える
・UIViewRepresentable を使わず、iOS14からの SpriteView, SceneView を使う
・UIViewController で受けていた TouchesBegin などを SKScene で受けるように修正
・Warning 件数を限りなく0に近づける
SpriteView – A SwiftUI view that renders a SpriteKit scene.
https://developer.apple.com/documentation/spritekit/spriteview
SceneView – A SwiftUI view for displaying 3D SceneKit content.
https://developer.apple.com/documentation/scenekit/sceneview
全コードは以下のレポジトリの github/scenekit_fox ブランチにあります。
実行方法
コードを上記 github からクローンして、該当ブランチにチェックアウトします。
TestSwift.xcodeproj ファイルをダブルクリックして Xcode で実行します。
GamePad にも対応しているので、実機の iPhone で実行した場合、PS4 の DUALSHOCK4 とか bluetoothに対応してるコントローラーを接続しても、操作できます。
既知の問題点
・実行した直後のロードが遅くてオープニングシーンが一部カットされる
・コードが整理されてないのでリファクタリングが必要
誰か修正できる方いましたらプルリクお願いします。
投げ銭
Amazonギフト券(Eメールタイプ)
Eメールの宛先:
ashipp2000@gmail.com
https://www.amazon.co.jp/dp/B004N3APGO
新生銀行 銀座支店
普通 0309642
アシナ ヤスオ
それではよい SwiftUI ライフを!
SwiftUIを学ぶのにおすすめの本
SwiftUI 徹底入門
SwiftUIではじめるiPhoneアプリプログラミング入門
iOS/macOS UIフレームワーク SwiftUIプログラミング
コメント