【问题标题】:UIScrollView in sprite kit精灵工具包中的 UIScrollView
【发布时间】:2015-08-13 18:10:46
【问题描述】:

我是编程新手,正在开发一款 iOS 游戏。我只使用了一个视图控制器,它初始化了家庭 SKScene,之后就完全没有使用了,并且有大约 6 个 SKScene 可以使用以下代码在彼此之间导航(在它们各自的场景中)

SKScene *storeScene = [[SKSceneStore alloc] initWithSize:self.size];
SKTransition *reveal = [SKTransition fadeWithDuration:0.5];
[self.view presentScene:storeScene transition:reveal];

我的一个场景是商店,我想使用 scroll-kit(基本上是自定义代码,我发现 here)来滚动浏览我商店中的对象。

在上面用 UIScrollView 实现 sprite-kit 的 github 链接中,我尝试将 UIScrollView 代码移动到商店 SKScene 但

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView

在 sprite-kit 场景中不会被调用。 (我试图将这些组合到商店 SKScene 中,因为我的 SKScene 与我的视图控制器无关,而且我觉得跟踪 SKScene 以及 UIScrollView 是否存在于视图控制器中会很麻烦)。

所以我的问题是:我怎样才能得到

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

如果它在 SKScene 而不是 UIViewController 中,要触发吗?

【问题讨论】:

    标签: ios objective-c iphone uiscrollview sprite-kit


    【解决方案1】:

    是的,你可以。使用-(void)willMoveFromView:(SKView *)view 中的视图。这和在视图控制器中使用是一样的。

    【讨论】:

      【解决方案2】:

      为此,请使用NSNotificationCenter

      1:在 viewDidLoad() 中添加这个

      NSNotificationCenter.defaultCenter().addObserver(self, selector: "Facebook", name: "FacebookShare", object: nil)
      

      2:在您想要将函数从UIViewController 传递到SKScene 的方法中

      NSNotificationCenter.defaultCenter().postNotificationName("FacebookShare", object: nil)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-06
        • 1970-01-01
        • 2012-01-24
        • 2012-03-14
        • 2014-06-21
        • 2012-03-12
        相关资源
        最近更新 更多