Swift 1.2 bug:从父级删除SKSpriteNode时,iOS 7.1和8.3之间的行为不同

时间:2015-04-19 06:31:27

标签: ios swift sprite-kit skspritenode skaction

示例项目:https://github.com/wilkinho/RemoveFromParentTest

Swift版本:1.2 Xcode版本:6.3

我尝试从其父级中删除SKSpriteNode,并将其添加回自己的SKAction运行块(或回调)中的SKScene。结果在iOS 7.1和8.3中有所不同。

在iOS 7.1中,触摸设备后,控制台会打印:

sprite.parent:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})
sprite.scene:nil
sprite2.parent:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})
sprite2.scene:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})

在iOS 8.3中,触摸设备后,控制台会打印:

sprite.parent:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})
sprite.scene:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})
sprite2.parent:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})
sprite2.scene:Optional(<SKScene> name:'(null)' frame:{{0, 0}, {320, 568}})

第一个SpriteNode在iOS 7.1中丢失了SKScene引用,但在iOS 8.3中没有丢失。 我认为这是Swift 1.2的一个错误,我需要在我的项目中解决它。任何见解将不胜感激。

0 个答案:

没有答案