我创建了一个" SPriteKitButton" SKNode子类在一个单独的Swift文件中,用于在SpriteKit中制作类似自定义按钮的对象。我初始化一个新的按钮如下:
self.homeButton = SpriteKitButton(buttonUnpressedImage: "homeUnpressed.png", buttonPressedImage: "homePressed.png", buttonName: "homeButton", scale: 1, buttonAction: returnHome)
self.addChild(homeButton)
按钮效果很好,但是当我使用presentScene更改场景时,SpriteKitButton子类不会从内存中删除。我使用contentsOfFile方法在子类中设置纹理。我打电话给
homeButton.removeFromParent
在willMoveFromView中,但经过测试后,我发现我的按钮停留在内存中,并且每次更改场景时添加一个~1~2 mb的小按钮。
我没有在SpriteKit中使用子类对象的经验,那么如何在场景发生变化时确保我的自定义按钮被删除?
提前致谢!
答案 0 :(得分:3)
self.homeButton = nil
如果您使用强引用
,请使用此选项