如果选择了一个节点,我想显示一个效果节点。如果没有,我想关闭/删除该效果。 (我将节点设置为touchesBegan 中选择的节点。)
我使用下面的代码。打开和关闭效果节点使我很困惑,因为我将主节点添加到了效果节点中。如何在不丢失主节点的情况下将其关闭?我可以将效果的颜色更改为透明以将其隐藏,但这听起来不像是正确的方法……将主节点从效果节点移动到效果节点的父节点可能会起作用,但是我必须再次对其进行重新定位,这样它才不会出现。听起来也是正确的方法..
正确的方法之一是什么? (正确=在提高性能的同时又不增加编码复杂度)
SKShapeNode* tile = [SKShapeNode node];
[tile setPath:CGPathCreateWithRoundedRect(CGRectMake(0, 0, 60, 100), 4, 4, nil)];
tile.strokeColor = tile.fillColor = [UIColor colorWithRed:0.0/255.0
green:128.0/255.0
blue:255.0/255.0
alpha:1.0];
tile.position = CGPointMake(10, 100);
SKEffectNode *effectNode = [[SKEffectNode alloc] init];
GlowFilter *glowFilter = [[GlowFilter alloc] init];
[glowFilter setGlowColor:[[UIColor yellowColor] colorWithAlphaComponent:1]];
[effectNode setShouldRasterize:YES];
[effectNode setFilter:glowFilter];
effectNode.position=CGPointMake(0, 0);
[effectNode addChild:tile];
[self addChild:effectNode];
Best Answer-推荐答案 strong>
theEffectNode.shouldEnableEffects = NO;
关于ios - 如何正确打开和关闭SKNode的SKEffectNode?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/24686426/
|