首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ViewController with Skview - SpriteKit SKScene

ViewController with Skview - SpriteKit SKScene
EN

Stack Overflow用户
提问于 2016-05-13 19:50:29
回答 1查看 583关注 0票数 1

先试一试,然后被困在这个.

我有一个ViewController,我希望在它的视图中显示一个SKScene,我已经尝试了我所能想到的一切,但它没有显示

  • 添加SpriteKit/SpriteKit.h
  • Main.storyboard有一个单一的视图控制器(myViewController)。
  • myViewController的视图-将类更改为SKView。(见下文图)
  • 视点加载
  • 链接到SKScene,我希望加载(HelloScene) #导入"HelloScene.h“
代码语言:javascript
复制
//ViewController.m
#import "myViewController.h"
#import <SpriteKit/SpriteKit.h>
#import "HelloScene.h"
@interface myViewController ()

@end

@implementation myViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    SKView *spriteView = (SKView *) self.view;
    spriteView.showsDrawCount = YES;
    spriteView.showsNodeCount = YES;
    spriteView.showsFPS = YES;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

HelloScene.h

代码语言:javascript
复制
 #import <SpriteKit/SpriteKit.h>
  @interface HelloScene : SKScene 
  @end

HelloScene.m

代码语言:javascript
复制
#import "HelloScene.h"

@interface HelloScene ()
@property BOOL contentCreated;
@end

@implementation HelloScene

- (void)didMoveToView: (SKView *) view
{
        [self LoadSceneContents];
}

- (void)LoadSceneContents
{
    self.backgroundColor = [SKColor blueColor];
    self.scaleMode = SKSceneScaleModeAspectFit;
    [self addChild: [self newHelloNode]];
}

- (SKLabelNode *)newHelloNode
{
    SKLabelNode *helloNode = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];
    helloNode.text = @"Hello, World!";
    helloNode.fontSize = 42;
    helloNode.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
    return helloNode;
}

@end

上面:选择视图控制器的视图对象并将其类更改为SKView

EN

回答 1

Stack Overflow用户

发布于 2016-05-13 20:01:05

错过了正确的场景配置..。

代码语言:javascript
复制
// Create and configure the scene.
    HelloScene *theScene = [HelloScene sceneWithSize:spriteView.bounds.size];
    theScene.scaleMode = SKSceneScaleModeAspectFill;

    // Present the scene.
    [spriteView presentScene:theScene

];

希望它能帮到别人

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37218309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档