OGeek|极客世界-中国程序员成长平台

标题: ios - 如何正确打开和关闭SKNode的SKEffectNode? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:47
标题: ios - 如何正确打开和关闭SKNode的SKEffectNode?

如果选择了一个节点,我想显示一个效果节点。如果没有,我想关闭/删除该效果。 (我将节点设置为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-推荐答案


theEffectNode.shouldEnableEffects = NO;

关于ios - 如何正确打开和关闭SKNode的SKEffectNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686426/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4