【问题标题】:Integrating a SpriteKit view into a xib view将 SpriteKit 视图集成到 xib 视图中
【发布时间】:2013-10-16 00:25:00
【问题描述】:

我已经使用 xib 文件创建了一个视图。

现在我想在这个视图中添加一些小元素,以利用 SpriteKit 中的一些物理动画,所以现在我需要一个 SKView。

是否可以将 SKView 添加为与我的 xib 视图对应的视图的子视图?我试过了,它似乎没有显示任何东西。

下面是我的XIB视图对应的ViewController中:

this.myCustomSKView = new CustomSKView()
this.View.AddSubview( this.myCustomSKView );

我的自定义 SKView 的 ViewController 有:

    public override void ViewWillLayoutSubviews ()
    {
        base.ViewWillLayoutSubviews ();
        if(this.SKView.Scene == null)
        {
            this.SKView.ShowsFPS = true;
            this.SKView.ShowsNodeCount = true;
            this.SKView.ShowsDrawCount = true;

            var scene = new MyCustomSKScene (this.SKView.Bounds.Size);
            this.SKView.PresentScene (scene);
        }
    }

【问题讨论】:

  • 有可能。发布您尝试过的代码。 PS这和xamarin有什么关系?
  • 我标记了 Xamarin,因为这是我正在使用的环境。
  • 啊,我明白了。我只是浏览了代码,没有注意到它是 C#。我瞎了。 :)

标签: ios7 xamarin xib sprite-kit skview


【解决方案1】:

我不知道您到底想要实现什么,但我认为您可能想查看 UIKitDynamics 而不是 SpriteKit,它提供“与物理相关的功能和动画到视图和其他动态项目”。我建议你先看看苹果文档 https://developer.apple.com/library/ios/samplecode/DynamicsCatalog/Introduction/Intro.html 然后 raywenderlich.com 上的一个非常好的教程 http://www.raywenderlich.com/50197/uikit-dynamics-tutorial

希望对你有帮助……

【讨论】:

  • 谢谢,这很有趣。我试图实现粒子以不同的速度下落并可能发生碰撞。
  • 不明白为什么有人会否决这个答案!甚至接受答案的作者(Dogcoffee)也同意我的观点!
【解决方案2】:

我只是试了一下,并且成功了。

  1. 从单视图应用开始。
  2. 将 myScene.m / .h 从另一个 sprite kit 应用拖到我的项目中。
  3. 在storyboard中拖入一个UIView,在storyboard中设置class为SKView。
  4. 创建了一个从它到 VC 类的出口(在我的例子中称为 myGame)
  5. 在 VC 类中添加了#import
  6. 同样从演示项目 viewDidLoad 复制

这是我做的唯一改变

-(void)viewDidLoad {
   [super viewDidLoad];
   // Next line is all I changed...
   SKView * skView = (SKView *)self.view;
   skView.showsFPS = YES;
   skView.showsNodeCount = YES;

   // Create and configure the scene.
   SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
   scene.scaleMode = SKSceneScaleModeAspectFill;

   // Present the scene.
   [skView presentScene:scene];
}

我添加了一些其他 UIKit 以在视图中显示它的小 SK 游戏。

不确定这是否是最好的方法,但我希望我能回答你的问题。

我同意 lionserdar,您应该改用 UIKit Dynamics。

【讨论】:

  • 感谢您提供此示例。我正在使用 Xamarin,我也不使用情节提要。我只是将 SKView 作为子视图添加到从我的 Xib 文件创建的视图中。我试图实现粒子以不同的速度下落并可能发生碰撞。
  • 没用过Xamarin,如果你想用xcode,可以用apportable.com移植到android
  • 错过了初始化方法 (sceneWithSize:) 谢谢!
  • 如何再次返回 UIKit 屏幕
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 2011-03-15
相关资源
最近更新 更多