私はSwiftを使用してAugmented Reality Sprite Kitゲームを作成していますが、一時停止メニューを実装しようとしています。私はLayer for pause menuに見られるコードを適応しようとしましたが、役に立たないです。ARSKViewでポーズメニューを作成するにはどうすればよいですか?
私はsceneView.isPaused =真使用して一時停止するARSKViewを取得することができたが、それはすべてです - 私のポーズメニュー層は表示されません。
私はSwiftを使用してAugmented Reality Sprite Kitゲームを作成していますが、一時停止メニューを実装しようとしています。私はLayer for pause menuに見られるコードを適応しようとしましたが、役に立たないです。ARSKViewでポーズメニューを作成するにはどうすればよいですか?
私はsceneView.isPaused =真使用して一時停止するARSKViewを取得することができたが、それはすべてです - 私のポーズメニュー層は表示されません。
通常はSpriteKit
のようにpauseNode
を作成する代わりに、ARSKView
の上に別のビューを作成します。
ストーリーボードまたはビューコントローラーのいずれかに、フルスクリーンに固定されている別のビューを追加します。 UIKit
またはSpriteKit
を使用してメニュー(ラベル、ボタンなど)を作成するかどうかによって、UIView
またはSKView
のいずれかになります。 UIKit
を使用することをお勧めします。これは、ユーザーインターフェイスを構築するために設計されているためです。
ビュー階層は次のようなものになります。これらのビュー間で通信するには
-- UIViewController
-- UIView/SKView
-- ARSKView
は、ボタンが押されたときに、あなたのビューコントローラに通知するために、ポーズメニューデリゲートを設定します。あなたのビューコントローラで
class PauseMenuView: UIView {
weak var delegate: PauseMenuViewDelegate?
@IBAction func unPauseButtonPressed() {
delegate?.pauseMenuUnPauseButtonPressed()
}
...
}
:あなたのポーズメニュービューで
protocol PauseMenuViewDelegate: class {
func pauseMenuUnPauseButtonPressed()
}
class ViewController: UIViewController {
@IBOutlet weak var pauseMenuView: PauseMenuView! {
didSet { pauseMenuView.delegate = self }
}
...
}
extension ViewController: PauseMenuViewDelegate {
func pauseMenuUnPauseButtonPressed() {
// unpause the game here
}
}
あなたは、ポーズメニューは、現在のARコンテンツ上記の "2D" の画面になりたいですか?またはポーズメニューをAR世界に表示したいですか? – nathan
@nathan ARコンテンツの上に表示される2D画面 – podomunro