私はスプライト キットを使用して最初の iOS アプリを作成していますが、かなり基本的な問題と思われるものにつまずいています。
fillNode
SKCropNode ( )のコンテンツ ( ) をアニメーション化しようとしていcropNode
ます。以下のコードは、SKScene を適切にセットアップします (図が正しくマスクされ、背景画像の上に適切な位置に配置されていることがわかります)...
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];
...しかし、マスクされたイラストにアクセスしてその位置をアニメーション化することはできません (マスクの外側から開始して所定の位置にスライドさせたい):
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];
}];
logoContent
子ノードではなく、全体のみをアニメーション化できます。
私が間違っているアイデアはありますか?