私は `SKScene 'にメニューを持っています。私はPeekとPop関数をその中に統合しようとしています。私は複数の可能な選択肢を持っていますので、私の問題は、どれがどれに触れているのかを特定する方法です。ピークとポップ機能SpriteKit
これは私のコードです:
import SpriteKit
import UIKit
class Menu: SKScene, UIViewControllerPreviewingDelegate {
//SETUP Menu
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
return UIViewController()
}
//POP
func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) {
return
}
}
はGameViewController.swift:
import UIKit
import SpriteKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
if self.traitCollection.forceTouchCapability == .available {
registerForPreviewing(with: scene as! UIViewControllerPreviewingDelegate, sourceView: scene.view!)
}
}
// Move to Menu
}
}
私はsourceView
フィールドに情報を渡すべきであることを確信しています。しかし、これはGameViewControllerにあるので、私は何をすべきか分かりません。メニューの中でこれを行う方法はわかりません。どこにこのコードを置くのですか?あなたがしようとしているようSKSceneまたはSKSpriteNodeメニューで覗くとポップを使用することはできません
if let scene = GameScene(fileNamed:"GameScene") {
if self.traitCollection.forceTouchCapability == .available {
registerForPreviewing(with: scene as! UIViewControllerPreviewingDelegate, sourceView: ButtonPressed)
}
}
おかげで、それはゲームであるとSpriteKitベースに作られなければならないと残念ながら私は、メニューを再設計することができないのに役立ちます。 –
ようこそ。私はあなたのメニューも再設計しないでしょう、SpriteKitのUIKitを使いこなす(ColletionViews、ScrollViewsを除く)あなたがまだそれをしていないのであれば、3Dタッチクイックアクションを見てください。それらは簡単にSpriteKitに統合できます。ハッピーコーディング – crashoverride777
ええ、私はクイックアクションを持っています –