与其想出一个可行的公式,不如将父级的锚点切换回 0.5、0.5,添加子级,然后返回修改后的锚点。
或者您可以放弃所有方程式,只需将任何子对象的锚点设置为与您的父对象相同:
SKSpriteNode *object1 = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(50, 50)];
object1.position = CGPointMake(300, 150);
object1.anchorPoint = CGPointMake(0.1, 0.2);
object1.zRotation = 1;
[self addChild:object1];
SKSpriteNode *object2 = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(50, 50)];
object2.anchorPoint = CGPointMake(object1.anchorPoint.x, object1.anchorPoint.y);
object2.position = CGPointMake(0, 0);
[object1 addChild:object2];
保证工作或退款!:)