【发布时间】:2014-04-01 18:01:56
【问题描述】:
我有许多以 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
遗憾的是,这也不起作用。所以我想知道:如何正确地导致标签注释完全不接收触摸?
【问题讨论】:
-
我会在 touchesBegan 中注销接收触摸的对象的描述,以查看实际对象是什么。可能是其他东西对触摸做出反应,而不是标签节点。
-
您能展示一下您是如何检测这些触摸的吗?还有,你见过这个吗?它可能会有所帮助:github.com/iSofTom/STSpriteKit/blob/master/STSpriteKit/…
标签: ios sprite-kit sklabelnode