4

SKLabelNodes を子として持つ SKSpriteNodes が多数あります。私が望むのは、スプライト ノードの境界内のすべてのタッチがスプライト ノードによって処理され、その子 (ラベル ノード) がタッチを完全に無視することです。私はこれをやってみました:

SKLabelNode *miles = [SKLabelNode labelNodeWithFontNamed:@"Verdana"];
miles.userInteractionEnabled = NO;

しかし、これはうまくいきません。このプロパティを NO に設定すると、ラベル ノードはタッチを登録します。次に、ラベル ノードをサブクラス化し、init で userInterationEnabled = NO を設定してみました。

@implementation BBLabelNode

-(id)init {
    if (self = [super init]) {

        self.userInteractionEnabled = NO;

    }
    return self;
}

@end

悲しいことに、これもうまくいきませんでした。だから私は疑問に思っています:ラベルノートがまったくタッチ受け取らないようにするにはどうすればよいですか?

4

1 に答える 1

0

userInteractionEnabledデフォルトで に設定されているのはSKScene だけYESです。したがって、オブジェクトを有効にしたことがない場合は、オブジェクトに設定userInteractionEnabledする必要はありません。NO

他の何か、オブジェクト、ノード、シーンなどによってラベルがuserInteractionEnabledに設定されていないか再確認してくださいYES

于 2014-04-01T18:19:02.357 に答える