大佬教程收集整理的这篇文章主要介绍了SKScene didMove(查看)莫名跑了两次,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望有人能告诉我为什么会发生这种情况以及如何解决。在 SwiftUI ContentVIEw 中,我使用 SpriteVIEw() 来呈现 SKScene。@H_301_1@
struct ContentVIEw: VIEw {
@Environment(\.presentationModE) var presentationMode
@EnvironmentObject var apPDAta : ApPDAta
@Observedobject var viewmodel = viewmodel()
var gameScene: SKScene {
let scene = GameScene(size: CGSize(wIDth: UIScreen.main.bounds.wIDth,height: UIScreen.main.bounds.height))
scene.viewmodel = self.viewmodel
scene.scaleMode = .aspectFill
return scene
}
var sumMaryScene: SKScene {
let scene = SumMaryScene(size: CGSize(wIDth: UIScreen.main.bounds.wIDth,height: UIScreen.main.bounds.height))
scene.viewmodel = self.viewmodel
scene.scaleMode = .aspectFill
return scene
}
var body: some VIEw {
ZStack{
GeometryReader { geometry in
SpriteVIEw( scene: chooseScene(for: viewmodel.completE))
.frame(wIDth: geometry.size.wIDth,height: geometry.size.height)
}
.edgesIgnoringSafeArea(.all)
vstack{
...
}
}
}
func chooseScene(for complete: Bool) -> {
complete ? sumMaryScene : gameScene
}
GameScene中的相关代码如下:@H_301_1@
class GameScene: SKScene {
...
overrIDe func dIDMove(to vIEw: SKVIEw) {
print("dID move to vIEw")
BACkgroundcolor = UIcolor(red: 30 / 255,green: 32 / 255,blue: 53 / 255,Alpha: 1.0)
layoutScene()
startCounter()
}
打印语句告诉我 dIDMove(to vIEw) 被调用了两次,它导致屏幕上非常短暂的闪烁。否则,事情运行正常。 我调用 SKScene 的方式有明显的问题吗?还是我应该到别处寻找原因?谢谢。@H_301_1@
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的SKScene didMove(查看)莫名跑了两次全部内容,希望文章能够帮你解决SKScene didMove(查看)莫名跑了两次所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。