ios - SKView 无法正确转换 Sprite-Kit Objective-C

标签 ios objective-c sprite-kit

我正在尝试使用以下代码从 ViewController 过渡到 SKScene:

-(void)interstitialDidDisappear:(MPInterstitialAdController *)interstitial {
    SKView *skView = (SKView *)self.view;
    GameScene *gameScene = [GameScene sceneWithSize:skView.bounds.size];
    gameScene.scaleMode = SKSceneScaleModeAspectFill;
    [skView presentScene:gameScene];
}

我继续得到:

-[UIView presentScene:]: unrecognized selector sent to instance

我看到这个问题经常出现,但所有的解决方案似乎都不适用于我的情况。我尝试进入 Storyboard 并将 View 的自定义类更改为 SKView。我还尝试将其添加为属性并覆盖获取以返回转换的 View 。我现在真的不知道该怎么做,我们将不胜感激。

最佳答案

听起来您知道问题是什么,甚至您采取了正确的措施来解决它。

I tried going into the Storyboard and changing the custom class of the View to SKView

我猜你在 ViewController 中更改了错误的 View ,或者 self.view 不是你想要的 View 。

在不了解游戏结构的情况下,听起来好像您直到他们看到了奇怪的广告后才启动游戏。要么我错了,要么你已经在代码中的其他地方成功呈现了你的场景。我会查看您在那里抓取的 View ,或者尝试在加载的 View 上启动场景。

希望这能帮助您或为您指明正确的方向。

关于ios - SKView 无法正确转换 Sprite-Kit Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31215613/

相关文章:

ios - 在 Swift 中使用 OHHTTPStubs 测试请求体

ios - 无法从 TimeZone.abbreviation() 初始化 TimeZone

ios - AFNetworking- 发布请求- 向正文添加简单文本

iphone - 从 NSURLResponse 检测 NSStringEncoding 的函数?

android - React-Native-Firebase Cloud Messaging-如果从任务栏打开则没有事件

Objective-c 类方法和复制返回值

ios - 尝试使用 SpriteKit 场景 (SWIFT) 在 didMoveToView 中使用 waitForDuration 来延迟生成节点,但不起作用

sprite-kit - 如何异步加载场景以便您可以拥有加载屏幕?

swift - 按 home 按钮时暂停 NSTimer,并在应用程序位于前台后再次启动它们

ios - 如何检查 UIButton 是否有目标?