Я пытаюсь выполнить некоторые действия на SKSpriteNode, сгруппированном с его тенью в SKNode. Перевод работает корректно, но проблема с вращением.
Я реализовал добавление тени следующим образом:
- (SKNode *) addShadow:(NSString *) nodeName At:(CGPoint) pos
{
float halfWdth = self.frame.size.width / 2.f;
float halfHght = self.frame.size.height / 2.f;
SKEffectNode *shadowEffect = [[SKEffectNode alloc] init];
shadowEffect.shouldEnableEffects = YES;
SKNode *shadowNode = [[SKNode alloc] init];
SKSpriteNode *shadow = [self copy];
shadow.color = [SKColor blackColor];
shadow.colorBlendFactor = 0.9;
shadow.blendMode = SKBlendModeAlpha;
[shadow setAlpha:0.7];
shadowEffect.filter = [self blurFilter];
shadow.position = CGPointMake(halfWdth + SHADOW_DELTA, halfHght);
shadow.zPosition = -10;
shadowEffect.name = @"shadow";
shadowEffect.blendMode = SKBlendModeAlpha;
[shadowEffect addChild:shadow];
self.zPosition = 3;
self.position = CGPointMake(halfWdth, halfHght + SHADOW_DELTA);
[shadowNode addChild:shadowEffect];
[shadowNode addChild:self];
shadowNode.name = nodeName;
shadowNode.position = pos;
shadowNode.zPosition = 3;
SKNode *container = [[SKNode alloc] init];
container.name = nodeName;
CGRect groupRect = [shadowNode calculateAccumulatedFrame];
halfWdth = groupRect.size.width / 2.f;
halfHght = groupRect.size.height / 2.f;
shadowNode.position = CGPointMake(-halfWdth, -halfHght);
[container addChild:shadowNode];
container.position = CGPointMake(pos.x + halfWdth, pos.y + halfHght);
return (container);
}
Я нашел ссылку Поворот и масштабировать ПОЛОЖЕНИЕ нескольких спрайтов на основе центральной точки?. Однако я не смог решить свою проблему.
Я использовал следующие сегменты кода для перевода и поворота;
Перевод:
SKAction *moveAction = [SKAction moveBy:CGVectorMake(-2.f, mMoveY) duration:0.2f];
[paper runAction:moveAction completion:
^{
[self processHelp:@"help3];
}];
Вращение:
SKAction *rotateAction = [SKAction rotateByAngle:0.75f * M_PI duration:0.4f];
[mainNode runAction:rotateAction];
Я был бы рад, если бы кто-то мог направить меня.
С уважением,
Неслиса.