我正在尝试在我的游戏中使用 SKLabelNode 作为菜单按钮
我有 4 个按钮,左上,右上,左下,右下
我给他们起名字,这样我就可以开始接触节点了,但是如果我将标签的名称更改为其他名称,它就不起作用并且同时执行两个操作而不是执行新名称的操作
这是代码示例:
在里面 :
buttonUpLeft.name = @"UpLeft";
buttonUpRight.name = @"UpRight";
buttonDownLeft.name = @"DownLeft";
buttonDownRight.name = @"DownRight";
触摸开始:
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
SKLabelNode *node = (SKLabelNode*) [self nodeAtPoint:location];
if ([node.name isEqualToString:@"DownLeft"]) {
...
buttonUpLeft.name = @"Attack";
buttonUpRight.name = @"Cry";
buttonDownLeft.name = @"Execution";
buttonDownRight.name = @"Back";
...
}
if ([node.name isEqualToString:@"Back"]) {
...
buttonUpLeft.name=@"UpLeft";
buttonUpRight.name=@"UpRight";
buttonDownLeft.name=@"DownLeft";
buttonDownRight.name=@"DownRight";
...
}
if ([node.name isEqualToString:@"Attack"]) {
...
}
if ([node.name isEqualToString:@"Cry"]) {
...
}
if ([node.name isEqualToString:@"Execution"]) {
...
}
if ([node.name isEqualToString:@"DownRight"]) {
...
}
但如果我点击“执行”或“左下”,它会同时启动,“后退”和“右下”也是如此
有什么办法可以避免这种情况吗?