如何在ViewController的顶层移动场景?

时间:2013-12-01 13:05:19

标签: uiviewcontroller uiimageview sprite-kit

我的ViewController中有一个ImageView,但是当我在Xcode 5中使用sprite kit添加一个精灵场景时,它会显示回ImageView。

一般情况下,我想在摇动手机的同时更改场景中我的发射器的alpha值,但是我没有在精灵套件中找到这样的方法,这就是为什么我想从场景中添加一个发射器。

寻求帮助!

1 个答案:

答案 0 :(得分:-1)

我建议您创建SKSpriteNode而不是ImageView。然后创建SKNode并使其成为所有其他节点的父级。之后,您可以更改父级的alpha而不是更改SKView的alpha:

@interface GameScene()

@property SKSpriteNode *imageNode;
@property SKNode parentNode;

@end

@implementation GameScene

- (instancetype) initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        self.imageNode = [SKSpriteNode spriteNodeWithImageNamed:@"yourImage"];
        [self addChild:self.imageNode];

        self.parentNode = [SKNode node];
        self.parentNode.zPosition = self.imageNode.zPosition + 1;
        [self addChild:self.parentNode];

        // Add other nodes
        [self.parentNode addChild:....];
    }
}

-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    if (event.subtype == UIEventSubtypeMotionShake) { 
        self.parentNode.alpha = self.parentNode.alpha - 0.1;
    } 
}

@end

Вобщем,как-тотак:)