繁体   English   中英

如何从内存中删除子类化的SKNode?

[英]How to Remove Subclassed SKNode from Memory?

我在一个单独的Swift文件中创建了一个“ SPriteKitButton” SKNode子类,以便在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中使用子类对象的经验,因此如何确保在更改场景时删除自定义按钮?

提前致谢!

self.homeButton = nil

如果使用强引用,请使用此选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM