【发布时间】:2020-06-04 01:38:08
【问题描述】:
我目前正在尝试在我的游戏中编写一些流星,一旦它们移出屏幕,它们似乎就会消失。但我不确定 swift 是否真的会自动为我删除,或者它们是否还在徘徊。
我在屏幕顶部启动它们并使用physicsBody 使用重力将它们向下移动。
star.physicsBody = SKPhysicsBody(rectangleOf: star.size)
我知道苹果文档说“稍后,如果精灵从场景中移除或不再可见,如果 SpriteKit 需要该内存用于其他目的,它可以删除纹理数据。”
https://developer.apple.com/documentation/spritekit/skspritenode/getting_started_with_sprite_nodes
但我觉得这种说法很模糊,只是想确认一下,因为我在屏幕上再也看不到我的星图,我也可以假设它已被删除。
(而不仅仅是在屏幕外的某个地方聚集)
【问题讨论】:
-
屏幕外的内容不会自动删除。 (不可能,因为 SpriteKit 无法判断某些未来的程序操作是否会将它们带回屏幕。)
-
@bg2b Ty,SpriteKit 是否会自动删除精灵,还是我们必须自己手动完成?
标签: swift sprite-kit skspritenode skphysicsbody