. SceneKit サンプル Fox を SwiftUI で実行
SceneKit サンプル Fox を SwiftUI で実行
SceneKit サンプル Fox を SwiftUI で実行

SceneKit サンプル Fox を SwiftUI で実行

キツネ君が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 - aship/test_swiftContribute to aship/test_swift development by creating an account on GitHub.github.com 実行方法

コードを上記 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プログラミング

📎📎📎📎📎📎📎📎📎📎