Animuj zamaskowany obraz w SpriteKit (SKCropNode)
Używam Sprite Kit do tworzenia mojej pierwszej aplikacji na iOS i natknąłem się na to, co wydaje się być dość podstawowym problemem.
Próbuję animować zawartość (fillNode
) SKCropNode (cropNode
). Poniższy kod ustawia SKScene w porządku (widzę ilustrację poprawnie zamaskowaną, umieszczoną nad obrazem tła we właściwej lokalizacji) ...
SKSpriteNode *logoBG = [[SKSpriteNode alloc] initWithImageNamed:logoBackground];
logoBG.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
[self addChild:logoBG];
SKCropNode *cropNode = [[SKCropNode alloc] init];
cropNode.maskNode = [[SKSpriteNode alloc] initWithImageNamed:logoMask];
SKSpriteNode *fillNode = [[SKSpriteNode alloc] initWithImageNamed:logoImage];
[cropNode addChild:fillNode];
fillNode.position = CGPointMake(0,300);
cropNode.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
self.logoContent = cropNode;
[self addChild:self.logoContent];
... ale nie mogę uzyskać dostępu do zamaskowanej ilustracji, aby ożywić jej położenie (chcę, aby zaczęła się poza maską i wśliznęła na miejsce):
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
SKAction *moveUp = [SKAction moveByX: 0 y: 100 duration: 5];
SKAction *moveSequence = [SKAction sequence:@[moveUp]];
[self.logoContent.target_illustration runAction: moveSequence completion:^{ // '.target_illustration' = the SKSpriteNode that I want to animate; cropNode.fillNode
SKScene *titleScreen = [[TitleScreen alloc] initWithSize:self.size];
SKTransition *fade = [SKTransition fadeWithDuration:(1)];
[self.view presentScene:titleScreen transition:fade];
}];
Mogę tylko ożywić całośćlogoContent
zamiast jego węzłów potomnych.
Jakieś pomysły, gdzie się mylę?