拆分touchesMoved跨越单个SKSpriteNode

时间:2015-07-08 21:38:32

标签: swift sprite-kit touch-event

使用SpriteKit,我创建了一个名为lightSaber的SKSpriteNode,并使用touchesMoved方法,我可以旋转SKSpriteNode或向左或向右翻译。是否有办法使它成为一个或两个取决于我抓住SKSpriteNode的位置? (例如刀片或手柄)

1 个答案:

答案 0 :(得分:0)

您可以通过

获取touchEvent的位置
CGPoint location = [touch locationInNode:self];

这使您能够将自定义逻辑添加到触摸屏幕的位置。例如:

if(location.x > 300) {
   //Do this
} else {
   //Do that
}

你也可以把剑分成两部分,即两个节点并命名每个节点并在两个节点上听一下触摸事件。

通过

获取touchesBegan内的节点
SKNode *node = [self nodeAtPoint:location];
if([node.name isEqualToString@"Handle"]) {

} else if ([node.name isEqualToString@"Blade"]) {

}