2015-12-16 39 views
3

有沒有人玩過3D touch和spritekit?3D Touch和SpriteKit

我一直在看關於3D觸摸的一些教程,它似乎相當簡單的大部分。然而,所有教程都是關於使用多個視圖控制器(使用故事板ID,預覽控制器等)的常規應用程序

是否可以將3D touch與通常只有1個ViewController的SpriteKit集成。

我的計劃將

1)主屏幕快捷方式這將加載不同的場景(店現場,1級,2級等)

2)皮克和流行,也許對菜單。你甚至可以使用偷看和流行的東西,如SKNodes?

感謝您的任何提示或建議

回答

1

是的,您可以集成3D Touch和SpriteKit。

使用默認SpriteKit遊戲項目模板(SWIFT),設置您GameScene是一個UIViewControllerPreviewingDelegate和實施協議的方法,如:

public class GameScene: SKScene, UIViewControllerPreviewingDelegate { 
    public func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { 
    return UIViewController() 
    } 

    //Pop 
    public func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) { 
    return 
    } 
} 

在GameViewController.swift的viewDidLoad,添加以下內容:

if let scene = GameScene(fileNamed:"GameScene") { 
    if self.traitCollection.forceTouchCapability == .Available { 
    registerForPreviewingWithDelegate(scene, sourceView: scene.view!) 
    } 
} 

在委託方法中,我返回一個空的視圖控制器。您可以創建一個類級別的變量,並通過適當的peek -type視圖來實例化該VC。再一次,一個非常簡單的例子。如果您想從AppIcon交互中添加3D Touch,則需要修改Info.plist並從AppDelegate添加功能。 There is a good video on this topic。祝你好運!

+0

你的男人。假期過後,我會試試這個。我會盡快發佈一些反饋。非常感謝。 – crashoverride777

+0

我應該如何識別使用此代碼按下哪個對象? –