SKSpriteNode子类并触及事件

时间:2013-09-30 16:51:37

标签: ios sprite-kit

我无法理解为什么如果我将实现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

如果我将此类的实例附加到场景中,则触摸该对象......没有任何反应。

我忘记了什么吗?

1 个答案:

答案 0 :(得分:13)

我刚刚看到SKNode默认参数userInteractionEnabled等于NO。只需将其设置为YES即可使代码正常运行。