草庐IT

ios - 遍历 SKNode 的所有子节点?

我有一个带有许多子SKSpriteNode的SKNode。一个简化的例子:varparentNode=SKNode()varchildNode1=SKSpriteNode()varchildNode2=SKSpriteNode()self.addChild(parentNode)parentNode.addChild(childNode1)parentNode.addChild(childNode2)我想对所有这些child运行一个colorizeWithColorAction。当我在parentNode上运行操作时,没有任何效果。我不能在父级上使用enumerateChildNode

ios - 当我在层次结构中添加额外的 SKNode 子级时,SKCropNode 失败

更新:iOS10似乎已经解决了这个问题。我升级到Swift3和Xcode8,一切都按预期工作。我现在已经遇到过几次这个问题,我不知道这是SKCropNode中的错误还是我只是误用了它。也许我缺少一些文档来解释为什么会这样?我有一个100x100矩形形状的裁剪节点作为mask。如果我在其中放置一个蓝色圆圈,它就会被正确裁剪。//Createacropenodewithasmallsquare.letcropNode=SKCropNode()letcropNodeMask=SKShapeNode(rect:CGRect(x:0,y:0,width:100,height:100))cropN

swift - 使用 SKNode 绕点恒速运行

我的目标是让secondBody以恒定速度(在本例中为500)“绕”firstBody。基于ConstantmovementinSpriteKit我已经实现了以下内容:overridefuncdidMoveToView(view:SKView){physicsWorld.gravity=CGVector(dx:0,dy:0)letfirstNode=SKShapeNode(circleOfRadius:10)addChild(firstNode)firstNode.position=CGPointMake(CGRectGetWidth(frame)/2.0,CGRectGetHeigh

swift - SKNode 子类生成错误 : cannot invoke initializer for type "X" with no arguments

SKNodes可以用一个空的初始化器来初始化,例如,letnode=SKNode()。但是,子类化SKNode会破坏此功能。在子类化SKNode之后,Xcode在尝试在子类上使用空初始化程序时生成此错误:Cannotinvokeinitializerfortype"X"withnoarguments假设SKNodeSubclass是SKNode的子类,行letnode=SKNodeSubclass()会生成此错误。IsitpossibletosubclassfromSKNodeandalsouseanemptyinitializerlikewithSKNode?classStatusS

ios - 错误 : Attemped to add a SKNode which already has a parent

我正在用Swift3和SpriteKit做一个游戏,我试图声明一个全局变量以在GameScene类的其余部分中使用它,但我做不到。我做了什么:classGameScene:SKScene{...letpersonaje=SKSpriteNode(imageNamed:"Ball2.png")...在全局声明之后,我尝试像那样在sceneDidLoad中使用它:...personaje.position=CGPoint.zeroaddChild(personaje)...我不知道为什么,但Xcode返回此错误:***Terminatingappduetouncaughtexception

swift - SKNode 相对于其父节点的 zPosition?

我一直认为SKNode的zPosition是相对于其父节点的,但现在我遇到了相反的效果。我的场景中有两个父SKNode,它们的zPosition分别为1(node1)和2(node2)。我想要实现的是node2应该始终在node1之上分层。但不幸的是,node1的子节点(其zPosition为1-50)都位于node2的子节点(当前没有zPosition)之上。有没有办法解决这个问题(除了给node2一个超过50的zPosition)?也许是某种bool参数来设置所有子节点相对于其父节点的zPosition?任何帮助将不胜感激!编辑:为了更清楚,这里是所有元素的层次结构:node1:S

ios - 如何将 SKNode 渲染到 UIImage

只是在玩弄SpriteKit,我正在尝试弄清楚如何将SKNode的“抓取”捕获到UIImage中。对于UIView(或UIView子类),我使用View的layer属性渲染到图形上下文中。例如。#import+(UIImage*)imageOfView:(UIView*)view{UIGraphicsBeginImageContextWithOptions(view.frame.size,YES,0.0f);CGContextRefcontext=UIGraphicsGetCurrentContext();[view.layerrenderInContext:context];UIIm

ios - 如何将 SKNode 渲染到 UIImage

只是在玩弄SpriteKit,我正在尝试弄清楚如何将SKNode的“抓取”捕获到UIImage中。对于UIView(或UIView子类),我使用View的layer属性渲染到图形上下文中。例如。#import+(UIImage*)imageOfView:(UIView*)view{UIGraphicsBeginImageContextWithOptions(view.frame.size,YES,0.0f);CGContextRefcontext=UIGraphicsGetCurrentContext();[view.layerrenderInContext:context];UIIm

ios - 如何在 Sprite Kit 中让相机跟随 SKNode?

我想让不同物体(Sprite和其他物体)的背景静止。玩家将由将在世界各地移动的中心节点表示。我想将我的相机固定到中央节点,例如世界应该移动,而相机应该保持静止。我该如何实现? 最佳答案 新的SKCameraNode似乎是一种非常简单的方法来做到这一点。https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKCameraNode/简单1)创建一个SKCameraNode//propertiesofsceneclassletcam=SKCam

ios - 如何在 Sprite Kit 中让相机跟随 SKNode?

我想让不同物体(Sprite和其他物体)的背景静止。玩家将由将在世界各地移动的中心节点表示。我想将我的相机固定到中央节点,例如世界应该移动,而相机应该保持静止。我该如何实现? 最佳答案 新的SKCameraNode似乎是一种非常简单的方法来做到这一点。https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKCameraNode/简单1)创建一个SKCameraNode//propertiesofsceneclassletcam=SKCam