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

只有SKSceneuserInteractionEnabled默认设置为YESuserInteractionEnabled因此,NO如果您从未启用它们,则无需在您的对象上设置。

仔细检查其他东西,对象,节点,场景等是否将您的标签设置userInteractionEnabledYES.

于 2014-04-01T18:19:02.357 回答