【发布时间】:2013-10-08 01:32:03
【问题描述】:
我有一个启用了用户交互的 SKNode,我正在向其中添加一个 SKEmitterNode,我希望仅为孩子禁用用户交互。此代码不起作用。
SKNode* parentNode = [[SKNode alloc] init];
parentNode.userInteractionEnabled = YES;
NSString* path = [[NSBundle mainBundle] pathForResource:@"ABCDEFG" ofType:@"xyz"];
SKEmitterNode* childNode = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
childNode.userInteractionEnabled = NO;
[parentNode addChild:childNode];
我还尝试在添加到父级后将用户交互设置为 NO。这是可能的还是我需要以某种方式将发射器添加到父母的父母?
【问题讨论】:
-
你如何检查触摸/用户交互。
-
touchesBegan 在父节点上。如果您点击父级,它会像按下按钮一样进行动画处理并产生一些粒子。
-
今天发现了,在节点上设置 userInteractionEnabled 允许节点本身接收事件。这意味着您将在该实际对象上实现 touchesBegan:withEvent:
-
我是,但是将子节点添加到启用它的节点会逐渐减少。所以,如果你点击孩子,即使它没有 userInteractionEnabled = YES,点击会被发送到链上,直到有东西消耗它。在这种情况下,消费者是父母。
标签: ios7 sprite-kit skemitternode