2016-05-13 185 views
1

的第一次尝试,并停留在这一个有点...视图控制器与Skview - SpriteKit SKScene

我有,我想在它看来 以显示SKScene我用尽了一切我能想到的,但一个视图控制器其未示出


  • 添加SpriteKit/SpriteKit.h
  • Main.storyboard具有单个视图控制器(myViewController)。
  • myViewController的视图 - 将类更改为SKView。 (见下图)
  • viewDidLoad中
  • 链接SKScene我要加载(HelloScene)#进口 “HelloScene.h”

//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

#import <SpriteKit/SpriteKit.h> 
    @interface HelloScene : SKScene 
    @end 

HelloScene.m

#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 

enter image description here

上图:选择视图控制器的视图对象并改变其类SKView

回答

1

已经错过了正确配置了场景

// Create and configure the scene. 
    HelloScene *theScene = [HelloScene sceneWithSize:spriteView.bounds.size]; 
    theScene.scaleMode = SKSceneScaleModeAspectFill; 

    // Present the scene. 
    [spriteView presentScene:theScene 

]; 

希望它可以帮助别人