gpt4 book ai didi

ios - SKScene 没有取消初始化

转载 作者:可可西里 更新时间:2023-11-01 02:00:56 25 4
gpt4 key购买 nike

我的申请遇到了一个大问题。当我转换到一个新场景时,我的 MainMenu 场景没有解除分配。

//GameViewController

override func viewDidLoad() {
super.viewDidLoad()

if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = MainMenu(fileNamed: "MainMenu") {
scene.scaleMode = .aspectFill
view.presentScene(scene)
}
}

enter image description here

我点击按钮进入一个新的 SKScene,它具有以下代码:

let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = LuckyScene(fileNamed: "LuckyScene")
next_scene?.scaleMode = scaleMode
view?.presentScene(next_scene!, transition: transition)

它打开了我的 Lucky Scene,但它没有从主菜单调用 deinit 函数。

之后,如果我在 Lucky 场景中做同样的事情,例如我想离开场景并返回主菜单,它正在被释放的场景给我留下了一个巨大的问题。

let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = MainMenu(fileNamed: "MainMenu")
next_scene?.scaleMode = scaleMode
view?.presentScene(next_scene!, transition: transition)

如果用户进入 Lucky Scene 并离开它,将创建一个新的 MainMenu Scene。

enter image description here

为什么当我转换到一个新场景时我的 MainMenu 场景没有被释放?

最佳答案

找了半天,找到了答案。问题是这个 SKAction 没有被删除。

let bear_animation : SKAction = SKAction.repeatForever( SKAction.sequence([SKAction.run(idle_animation), SKAction.wait(forDuration: 2.0), SKAction.run(wave_animation), SKAction.wait(forDuration: 3.0)]))        
run(bear_animation, withKey: "bear_animation")

func idle_animation()
{
left_arm.run(idle_left_arm)
right_arm.run(idle_right_arm)
body.run(idle_body)
}

func wave_animation()
{
right_arm.run(wave_right_arm_1)
right_arm.run(wave_right_arm_2)
left_arm.run(wave_left_arm)
body.run(wave_body)
left_pupil.run(wave_pupil)
right_pupil.run(wave_pupil)
left_eyebrow.run(wave_eyebrow)
right_eyebrow.run(wave_eyebrow)
}

所以,当我呈现一个新场景时,我添加了类似代码。

removeAction(forKey: "bear_animation")

let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = LuckyScene(fileNamed: "LuckyScene")
next_scene?.scaleMode = scaleMode
view?.presentScene(next_scene!, transition: transition)

关于ios - SKScene 没有取消初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46381125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com