2015-12-16 27 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

我应该如何识别使用此代码按下哪个对象? –