【发布时间】:2015-06-18 10:28:21
【问题描述】:
为了简单起见,场景有一个圆形精灵和一个方形精灵。方形精灵是围绕圆形精灵跟随的 SKNode 的子节点,因此方形的旋转始终围绕圆形进行。然而,当节点旋转时,正方形随机向上漂移。一旦旋转一直进行,这种行为就会停止。代码如下:
_square = [SKSpriteNode spriteNodeWithImageNamed:@"square"];
_circle = [SKSpriteNode spriteNodeWithImageNamed:@"circle"];
_circle.position = CGPointMake(-200, 300);
[self addChild:_circle];
_rotateNode = [SKNode node];
_rotateNode.position = CGPointMake(300, 300);
[self addChild:_rotateNode];
[_rotateNode addChild:_square];
SKAction *moveBall = [SKAction moveTo:CGPointMake(1200, 300) duration:12];
[_circle runAction:moveBall];
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
SKAction *rotate = [SKAction rotateByAngle:-M_PI_2 duration:0.2];
[_rotateNode runAction:rotate];
}
-(void)update:(CFTimeInterval)currentTime {
_rotateNode.position = _circle.position;
double xOffset = (300 -_circle.position.x);
double yOffset = (300 - _circle.position.y);
_square.position = CGPointMake(xOffset, yOffset);
}
有人知道为什么会这样吗?
【问题讨论】:
-
该代码看起来无法编译,因为您将 CGPoint 添加为 self.您在第 3 行第二次分配 _circle 时是否有错字?
标签: ios sprite-kit