>将targetNode分配给SKNode,然后复制每个框架的SKNode:targetNode在iOS 10中不起作用。
>将粒子发射器分配给SKNode,并使用vIEw.textureFromNode使纹理复制每帧:占用1/10秒的帧,对我来说太慢了。
>将自定义 *** 作分配给将节点复制到另一个SKNode的粒子节点: *** 作将不会在iOS 10上运行
>复制现有的粒子节点,希望种子不是随机的:种子是随机的
>尝试在更新时复制粒子发射器:粒子刚刚产生在原点
>尝试SKReferenceNode:只是一个发射器的副本,它自己运行
剩下的唯一选择是写我自己的粒子发射器,我想避免,所以我想知道有没有人有这个问题,知道一个解决方案来达到预期的效果。
我可以做的另一件事是预先投射发射器,但如果我走这条路线,这将占用大量纹理内存。
编辑:为了帮助可视化,我画了一张照片,白色的边框显示了分屏显示的位置。黑色边框显示场景环绕的位置。
截至目前,玩家1和玩家2都在原始场景。
球员2正在右转,即将打入世界之路,将他移动到世界的左手边,但他还没有打进来。所以我需要一个场景的副本,使它在视觉上看起来像一个场景。由于玩家1仍然在原始场景,原始的发射器需要留在原地。玩家2将不得不在副本中看到相同的图像,否则一旦他通过该边框,将会发生“毛刺”效应,并且包装的错觉现在已经消失了。
最后结果:
我们刚刚说F %%%它,播放器1和播放器2将会看到不同的发射器节点,我们将在需要时将发射器附加到每个播放器的相机。
这只是工作(我猜想是这样),但我不知道多少是表演者,或者它如何适合你的需要和你当前的游戏。无论如何,也许它可以帮助你在某些方面。首先,在你的GameVIEwController …拆分屏幕:)#import "GameVIEwController.h"#import "GameScene.h"@implementation GameVIEwController- (voID)vIEwDIDLoad{ [super vIEwDIDLoad]; // Configure the vIEw. SKVIEw * leftSKVIEw = (SKVIEw *)self.leftScene; leftSKVIEw.ignoresSiblingOrder = YES; leftSKVIEw.showsFPS = YES; leftSKVIEw.showsNodeCount = YES; SKVIEw * rightSKVIEw = (SKVIEw *)self.rightScene; rightSKVIEw.ignoresSiblingOrder = YES; rightSKVIEw.showsFPS = YES; rightSKVIEw.showsNodeCount = YES; // Create and configure the scene. GameScene *scene = [GameScene nodeWithfilenamed:@"GameScene"]; scene.scaleMode = SKScenescaleModeAspectFill; // Present the scene. [leftSKVIEw presentScene:scene]; [rightSKVIEw presentScene:scene];}
leftScene和rightScene是使用自动布局在故事板中定义的UIVIEw,每个屏幕都占用一半的屏幕。另外一个类更改为SKVIEw(它是UIVIEw)。相当微不足道
然后在游戏场景中添加一个将在这两个视图之间共享的发射器。因为只使用一个发射器,所以发射的粒子(它们如何移动)将被镜像。所以在游戏场景中,只需添加一个粒子:
-(voID)dIDMovetoVIEw:(SKVIEw *)vIEw { /* Setup your scene here */ SKEmitterNode *emitter = [NSKeyedUnarchiver unarchiveObjectWithfile:[[NSBundle mainBundle] pathForResource:@"MyParticle" ofType:@"sks"]]; emitter.position = CGPointMake(CGRectGetMIDX(self.frame),CGRectGetMIDX(self.frame)); emitter.name = @"explosion"; emitter.targetNode = self; [self addChild:emitter];}
我知道你不需要所有这些代码,但如果这是你想要的某种方式,我会发布它为了完整。结果如下:
以上是内存溢出为你收集整理的swift – 在Sprite Kit中复制粒子发射器效果全部内容,希望文章能够帮你解决swift – 在Sprite Kit中复制粒子发射器效果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)