SpriteKit学习笔记(二)

2017-04-18  本文已影响0人  CoderZNB
转场动画.gif

SKScene是什么?

当进入一个游戏之后,出现在屏幕上的内容叫做场景,每一个游戏都是有若干的场景组成的,在SpriteKit游戏框架中的场景就是SKScene对象组成,SKScene类似于iOS中的UIView对象.下面就说一下SKScene关于的技术点.

如何使用SKScene

- (instancetype)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        self.backgroundColor = [SKColor redColor]; 
    }
    
    return self;
}
// 根据一张图片创建一个node 并作为场景的子node
SKSpriteNode *node1 = [SKSpriteNode spriteNodeWithImageNamed:@"znb 2.jpg"];
    node1.size = self.view.bounds.size;
    node1.position = CGPointMake(CGRectGetMidX(self.view.frame), CGRectGetMidY(self.view.frame));
    [self addChild:node1];
+ (SKTransition *)crossFadeWithDuration:(NSTimeInterval)sec; 

+ (SKTransition *)fadeWithDuration:(NSTimeInterval)sec;

+ (SKTransition *)fadeWithColor:(SKColor *)color duration:(NSTimeInterval)sec;

+ (SKTransition *)flipHorizontalWithDuration:(NSTimeInterval)sec;
+ (SKTransition *)flipVerticalWithDuration:(NSTimeInterval)sec;

+ (SKTransition *)revealWithDirection:(SKTransitionDirection)direction duration:(NSTimeInterval)sec;
+ (SKTransition *)moveInWithDirection:(SKTransitionDirection)direction duration:(NSTimeInterval)sec;
+ (SKTransition *)pushWithDirection:(SKTransitionDirection)direction duration:(NSTimeInterval)sec;

+ (SKTransition *)doorsOpenHorizontalWithDuration:(NSTimeInterval)sec;
+ (SKTransition *)doorsOpenVerticalWithDuration:(NSTimeInterval)sec;
+ (SKTransition *)doorsCloseHorizontalWithDuration:(NSTimeInterval)sec;
+ (SKTransition *)doorsCloseVerticalWithDuration:(NSTimeInterval)sec;

+ (SKTransition *)doorwayWithDuration:(NSTimeInterval)sec;

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

    MyScene *scene = [[MyScene alloc] initWithSize:self.size];
    
    [self.view presentScene:scene transition:[SKTransition doorwayWithDuration:1]];
}
上一篇 下一篇

猜你喜欢

热点阅读