gpt4 book ai didi

objective-c - Swift SKScene 在 Objective-C 项目中显示为空白

转载 作者:行者123 更新时间:2023-11-30 12:43:31 24 4
gpt4 key购买 nike

我在 Xcode 中有一个基于 Objective-C 的项目。我正在尝试将 SpriteKit 场景添加为 View Controller 中的较小 View 。 SpriteKit 文件速度很快。我添加了 Floor1.sks 并将其与 Floor1.swift 链接。

现在我尝试将其加载到我的 Objective-C ViewController.m 文件中。在我的 Storyboard中,我创建了 SKView 类的 View ,并且我认为我正确地创建了一个桥接头文件。我现在插入它的代码是:

GKScene *scene = [GKScene sceneWithFileNamed:@"Floor1"];
Floor1 *sceneNode = (Floor1 *)scene.rootNode;
sceneNode.scaleMode = SKSceneScaleModeAspectFit;

SKView *skView = (SKView *)_skView;

[skView presentScene:sceneNode];

skView.showsFPS = YES;
skView.showsNodeCount = YES;

当我成功运行应用程序时, View 会加载,但它只是一个带有浅灰色背景的空 View ,节点数为 0,FPS 为 0。我做错了什么,为什么它不会加载我正确的 View ?

最佳答案

我也遇到了同样的问题。请原谅我的英语,我使用谷歌翻译。当我创建新的跨平台游戏时,我决定将其视为书面文件。即跨平台。它没有太多其他场景初始化。这一切都对我有用。过去仅适用于 iOS 10,现在适用于 iOS 9。我附上的屏幕截图

GameViewController.m

    #import "GameViewController.h"
#import "GameScene.h"

@implementation GameViewController

- (void)viewDidLoad {
[super viewDidLoad];

GameScene *scene = [GameScene newGameScene];

// Present the scene
SKView *skView = (SKView *)self.view;
[skView presentScene:scene];

skView.ignoresSiblingOrder = YES;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
}

[GameScene.m][2]

#import "GameScene.h"

@implementation GameScene {
SKShapeNode *_spinnyNode;
SKLabelNode *_label;
}

+ (GameScene *)newGameScene {
// Load 'GameScene.sks' as an SKScene.
GameScene *scene = (GameScene *)[SKScene nodeWithFileNamed:@"GameScene"];
if (!scene) {
NSLog(@"Failed to load GameScene.sks");
abort();
}

// Set the scale mode to scale to fit the window
scene.scaleMode = SKSceneScaleModeAspectFill;

return scene;
}

[GameScene.h][3]

#import <SpriteKit/SpriteKit.h>

@interface GameScene : SKScene

+ (GameScene *)newGameScene;

@end

关于objective-c - Swift SKScene 在 Objective-C 项目中显示为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com