3

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

このクラスのインスタンスをシーンにアタッチしても、オブジェクトに触れても...何も起こりません。

私は何かを忘れていますか?

4

1 に答える 1

13

SKNode のパラメータuserInteractionEnabledがデフォルトで に等しいことを確認しましたNO。に設定するだけでYES、コードが正しく機能します。

于 2013-09-30T17:08:51.093 に答える