ゲームのメニュー ボタンとして SKLabelNode を使用しようとしています。
左上、右上、左下、右下の4つのボタンがあります
私はそれらに名前を付けて、接触しているノードをキャッチできるようにしましたが、ラベルの名前を別の名前に変更すると、機能せず、新しい名前のアクションを実行する代わりに両方のアクションを実行します
コードの例を次に示します。
初期化 :
buttonUpLeft.name = @"UpLeft";
buttonUpRight.name = @"UpRight";
buttonDownLeft.name = @"DownLeft";
buttonDownRight.name = @"DownRight";
touchBegan :
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"]) {
...
}
しかし、「実行」または「ダウンレフト」をクリックすると、同時に起動し、「バック」と「ダウンライト」についても同じことが言えます
これを避けるためのアイデアはありますか?