[英]Actively rotate a SKSpriteNode when swiping?
如果用户向左或向右滑动,我想旋转SKSpriteNode
。 我可以使用UIGestureRecognizer
还是有其他解决方法?
最简单的方法是将两个UISwipeGestureRecognizer添加到SKView(每个方向一个)。
如果要处理更慢的手指运动,则需要用UIPanGestureRecognizer代替它们。
在您的场景中,像这样实现didMoveToView:(SKView*)view
- (void)didMoveToView:(SKView *)view {
self.leftSwipeRecognizer = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(leftSwipe)];
self.leftSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
[view addGestureRecognizer:self.leftSwipeRecognizer];
self.rightSwipeRecognizer = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(rightSwipe)];
self.rightSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
[view addGestureRecognizer:self.rightSwipeRecognizer];
}
- (void)rightSwipe {
//whatever angle and duration you need here (angle in radians)
NSTimeInterval duration = 0;
CGFloat angle = 0;
[self enumerateChildNodesWithName:nodeIdentifier usingBlock:^(SKNode *node, BOOL *stop) {
[node runAction:[SKAction rotateByAngle:angle duration:duration]];
}];
}
SKSpriteNode
的name
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.