【问题标题】:Saving and Reading information from a Sprites UserData从 Sprites UserData 保存和读取信息
【发布时间】:2016-03-31 03:14:41
【问题描述】:

我正在尝试将一个值保存到精灵的用户数据中并能够读取它。

这就是我所拥有的,由于某种原因,该值永远不会被保存并保持为零。

import SpriteKit

let frame = SKScene()

func createSprite() {
    let sprite = SKSpriteNode()
    sprite.userData?.setValue("100", forKeyPath: "key")
    frame.addChild(sprite)
}

createSprite()

for child in frame.children where child is SKSpriteNode {
    print(child.userData?.valueForKey("key") as? String)
    //prints the value saved in the childs user data

    if child.userData?.valueForKey("key") as? String == "100" {
        print("It was a Success!")
    }
    if child.userData?.valueForKey("key") as? String == nil {
        print("There was a problem :(")
    }
}

【问题讨论】:

    标签: swift sprite-kit user-data


    【解决方案1】:

    我相信您的问题是 userData 以 nil 开头。试试这个...

    func createSprite() {
        let sprite = SKSpriteNode()
        //init NSMutableDictionary
        sprite.userData = NSMutableDictionary()
        sprite.userData?.setValue("100", forKeyPath: "key")
        frame.addChild(sprite)
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-05-18
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多