在iOS 7中创建一个按钮是Spritekit我们创建一个SKLabelNode,在TouchesBegan委托函数中,我们在触摸位置创建一个SKNode,并检查节点的名称是否等于预期的sklabelnode的名称。 但是在iOS 8中我们遇到了问题,我们使用相同的概念,但SKNode的位置始终为0! 那有什么不对?!
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
for (UITouch *touch in touches)
{
CGPoint touchLocation = [touch locationInNode:self];
SKNode *n = [self nodeAtPoint:touchLocation];
NSLog(@"Node Position: %f, %f", n.position.x, n.position.y);
}
}
答案 0 :(得分:0)
通过改变这个来解决:
if (n != self && [n.name isEqual: @"restartLabel"])
到此:
if([restartLabel containsPoint:touchLocation])