Я новичок в iOS, объективном C и работаю с Xcode. Я сделал только одно простое новостное приложение, но теперь я хотел бы создать игру, которую я опубликовал на другой платформе.
По сути, у меня есть один объект, который будет появляться случайным образом, а затем исчезать, и цель состоит в том, чтобы нажать на объект, чтобы он исчез.
Однако я не могу нажать на объект, хотя я установил mySKSpriteNode.userInteractionEnabled = YES;
Вот что у меня есть в моем методе touchesBegan
:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
NSLog(@"Something was touched");
UITouch *touch = [touches anyObject];
NSLog(@"%@", touch);
CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];
if(node == mySKSpriteNode)
[node runAction:[SKAction fadeOutWithDuration:0]];
}
В моем журнале я получаю это, когда я нажимаю на экран (а не там, где у меня есть объекты):
2014-02-17 23:18:30.870 BubbleChallenge[48541:70b] Something was touched
2014-02-17 23:18:30.875 BubbleChallenge[48541:70b] <UITouch: 0x1130ea530> phase: Began tap count: 1 window: <UIWindow: 0x109c2ab60; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x109c274d0>; layer = <UIWindowLayer: 0x109c26810>> view: <SKView: 0x109c2e5e0; frame = (0 0; 320 568); autoresize = RM+BM; layer = <CAEAGLLayer: 0x109c0e180>> location in window: {147.5, 128.5} previous location in window: {147.5, 128.5} location in view: {147.5, 128.5} previous location in view: {147.5, 128.5}
Когда я касаюсь mySKSpriteNode, я ничего не получаю в журнале, даже «Что-то было затронуто»;
Любая идея, почему это может происходить?
Другие вопросы, которые я нашел, говорили, что ответ должен установить userInteractionEnabled = YES
.... может быть, есть конкретный момент в коде, где я должен установить это?..
Любая помощь приветствуется!