iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SKEmitterNode particleAction无法运行iOS9 Beta大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在iOS9 Beta 4中测试我的应用程序,并发现许多过去在iOS8中工作但不再按预期运行的代码.另一个例子是SpriteKit的SKEmitterNode“particleAction”属性.以下代码在iOS8中有效,但在iOS9上不起作用:

// create the particle movement action
SKAction *move = [SKAction moveByX:100 y:100 duration:5]; // also,I've tested several other SKActions,such as scaleBy,fade,rotate,to no effect here        

// create a target node and add to the SKScene
SKNode *targetNode = [SKNode node];
targetNode.position = origin;
[mySKSceneNode addChild:targetNode];

// add an emitter node that has a target and an SKAction
SKEmitterNode *flameTrail = [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle]pathForresource:@"FlameAttack" ofType:@"sks"]];
flameTrail.position = origin;
flameTrail.particleAction = move; // TODO iOS9 compatibility issues!
flameTrail.targetNode = targetNode;
[mySKSceneNode addChild:flameTrail];

在iOS8上,上面的代码会产生一个看起来像火花飞舞的SKEmitterNode.在iOS9上,SKEmitterNode是完全不可见的(根本不会出现在SKScene中).如果我注释掉以下行:

flameTrail.particleAction = move; // TODO iOS9 compatibility issues!

然后我将在场景中看到SKEmitterNode,但我不会看到任何与粒子相关的运动.

我还用其他几个SKActions对此进行了测试,结果没有看到任何变化.我向Apple提交了一个错误;在此期间,任何人都可以确认/否认此问题或查看代码中的问题吗?

解决方法

iOS9 SKEmitterNode targetNode属性问题.

当设置了targetNode属性时,粒子将在zPosition 0处发出.如果你将zPosition设置为其他任何东西都无关紧要,粒子仍会在zPosition 0处渲染.如果你将zPosition的值打印到控制台,它将会报告你所设定的任何内容.如果设置targetNode = nil,则粒子将在正确的图层上渲染.

解:
我将所有背景精灵重新排序为< = -1 希望这会有所帮助,我将提交错误报告,同时我在github上添加一个示例repo.
https://github.com/fromkey/iOS9_BUG_SKEmitterNode_targetNode/tree/master

大佬总结

以上是大佬教程为你收集整理的SKEmitterNode particleAction无法运行iOS9 Beta全部内容,希望文章能够帮你解决SKEmitterNode particleAction无法运行iOS9 Beta所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。