我无法理解为什么如果我将实现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
Run Code Online (Sandbox Code Playgroud)
如果我将这个类的实例附加到场景中,触摸对象......没有任何反应.
我忘记了什么吗?
Mat*_*oal 13
我刚刚看到SKNode的参数userInteractionEnabled默认等于NO.只需将其设置YES为使代码正常工作即可.
| 归档时间: |
|
| 查看次数: |
4289 次 |
| 最近记录: |