Не могу понять, почему, если я подклассифицирую SKSpriteNode, который реализует протокол UIResponder, методы, связанные с касаниями, никогда не вызывались.Подкласс SKSpriteNode и касается событий
Например, это очень простой класс, который я использую в качестве теста:
//INTERFACE ----------------
#import <SpriteKit/SpriteKit.h>
@interface TestClass : SKSpriteNode
@end
//IMPLEMENTATION -----------
#import "TestClass.h"
@implementation TestClass
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"oook");
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{}
@end
Если я прилагаю экземпляр этого класса на сцену, прикасаясь к объекту ... ничего не происходит.
Я что-то забыл?
, но если его покрыто спрайтом, у которого нет взаимодействия, покрывающий спрайт проглатывает штрихи ... – DogCoffee
@Smick, вы имеете в виду, что можно нажимать «через» покрывающие спрайты, если у них есть userinteractionEnabled = ДА? – bobmoff
Я просто попробовал это, и это не кажется важным, если у спрайта справки есть userInteractionEnabled или нет, он будет блокировать прикосновения к спрайту ниже. Мне очень хотелось бы найти способ обойти это поведение, поскольку я хочу, чтобы прозрачное облако двигалось в поле. – bobmoff