我试图在y轴上拖动一个精灵,但是根据触点在节点上的开始位置,使精灵"粘住"到用户手指.精灵当前正在拖动,但似乎是将精灵的锚点捕捉到节点内的触摸位置.
我假设它与通过这样做获取节点内的位置有关,[touch locationInNode:selectedNode];但我不确定从那里去哪里.
这是我目前的代码.
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];
CGPoint newPosition = CGPointMake(node.position.x, location.y);
if ([node.name isEqualToString:self.selectedNode] ) {
if (newPosition.y > 230) {
newPosition.y = 230;
}
node.position = newPosition;
}
}
}
Run Code Online (Sandbox Code Playgroud)