У меня есть классический SKScene с некоторыми кнопками (все сделано программно) и ViewController для этой сцены. Где должны обрабатываться события касаний - в SKScene или во ViewController. Мне нужно переключиться на другие сцены и другие контроллеры представления при нажатии на разные кнопки с помощью push segue. Когда я обрабатываю события касания в контроллере представления, он возвращает мне nil для касания SKNode. Вот мой код в контроллере представления (сцена является его свойством):
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInNode:self.scene];
SKNode *node = [self.scene nodeAtPoint:location];
if ([node.name isEqual: @"campaign"]) {
CampaignViewController *levelViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"CampaignScene"];
[self.navigationController pushViewController:levelViewController animated:NO];
}
}
Спасибо за объяснение.