Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 获取游戏场景的所有子对象_Ios_Swift - Fatal编程技术网

Ios 获取游戏场景的所有子对象

Ios 获取游戏场景的所有子对象,ios,swift,Ios,Swift,我正在尝试获取游戏场景的所有子对象(通过名称标识),以便与设备同步旋转某些SKSpriteNode 目前我有以下代码: override func update(currentTime: CFTimeInterval) { if manager.deviceMotionAvailable { manager.deviceMotionUpdateInterval = 0.01 manager.startDeviceMotionUpdatesToQueue

我正在尝试获取游戏场景的所有子对象(通过名称标识),以便与设备同步旋转某些SKSpriteNode

目前我有以下代码:

override func update(currentTime: CFTimeInterval) {  
    if manager.deviceMotionAvailable {
        manager.deviceMotionUpdateInterval = 0.01
        manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()) {  
            [weak self] (data: CMDeviceMotion!, error: NSError!) in
            let rotation = atan2(data.gravity.x, data.gravity.y) - M_PI  

            for (var i = 1 ; i < self?.children.count ; i++){  
                var child = ???   // How can I get the child i
                if (child.name == 'Monster'){
                    let action = SKAction.rotateByAngle(CGFloat(DegreesToRadians(rotation)), duration:0)
                    child.runAction(action)
                }
            }
        }
    }
}  
覆盖函数更新(currentTime:CFTimeInterval){
如果manager.DeviceMotion可用{
manager.deviceMotionUpdateInterval=0.01
manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()){
中的[弱自身](数据:CMDeviceMotion!,错误:NSError!)
让旋转=atan2(data.gravity.x,data.gravity.y)-M_-PI
对于(var i=1;i

我怎样才能得到我想要的孩子?这是做这件事的好方法吗?否则,我可以处理一个数组列表,将我的所有子节点添加到游戏场景中…

在swift中,您可以使用以下方法枚举具有特定名称的所有子节点:

enumerateChildNodesWithName("Monster", usingBlock: {
     let action = SKAction.rotateByAngle(CGFloat(DegreesToRadians(rotation)), duration:0)
                child.runAction(action)
}
文档:

在swift中,您可以使用以下方法枚举具有特定名称的所有子节点:

enumerateChildNodesWithName("Monster", usingBlock: {
     let action = SKAction.rotateByAngle(CGFloat(DegreesToRadians(rotation)), duration:0)
                child.runAction(action)
}
文档:

在swift中,您可以使用以下方法枚举具有特定名称的所有子节点:

enumerateChildNodesWithName("Monster", usingBlock: {
     let action = SKAction.rotateByAngle(CGFloat(DegreesToRadians(rotation)), duration:0)
                child.runAction(action)
}
文档:

在swift中,您可以使用以下方法枚举具有特定名称的所有子节点:

enumerateChildNodesWithName("Monster", usingBlock: {
     let action = SKAction.rotateByAngle(CGFloat(DegreesToRadians(rotation)), duration:0)
                child.runAction(action)
}
文档:

完美!谢谢:)我也使用此链接正确使用enumerateChildNodesWithName。太好了!谢谢:)我也使用此链接正确使用enumerateChildNodesWithName。太好了!谢谢:)我也使用此链接正确使用enumerateChildNodesWithName。太好了!谢谢:)我也使用此链接正确使用enumerateChildNodesWithName。