我的精灵节点不会出现在我的场景中

CodeHurts

我创建了一个SKScene并使用addChild将我的SKSpriteNode放置在场景中。它表示该节点在右下角存在,但没有精灵可见。一切看起来都不错,但没有结果。我的scene.scaleMode是.aspectFill,我确保SKSpriteNode(imageNamed:“ GreenBlock”)是正确的。我已经看了很多遍了,但是对我来说却没有意义,为什么它不会显示在屏幕上……

这是一个简单的任务。我见过其他人做的完全一样,而且行得通。我已经尽力想...

我的视图控制器

import UIKit
import SpriteKit

class GreenSnakeController: UIViewController {

    override func loadView() {
        self.view = SKView()
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        if let SKView = self.view as! SKView? {
            let scene = GameScene(size: view.bounds.size)

            SKView.ignoresSiblingOrder = true
            SKView.showsFPS = true
            SKView.showsNodeCount = true
            scene.scaleMode = .resizeFill
            SKView.presentScene(scene)
        }

        self.navigationController?.navigationBar.isHidden = true
    }

    override func viewDidAppear(_ animated: Bool) {
        navigationController?.navigationBar.barStyle = .black
    }

    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

    override var prefersHomeIndicatorAutoHidden: Bool {
        return true
    }
}

我的游戏场景类

import UIKit
import SpriteKit

class GameScene: SKScene {

    var snakeBlock: SKSpriteNode!

    override func didMove(to view: SKView) {
        layoutScene()
    }

    func layoutScene() {
        backgroundColor = #colorLiteral(red: 0.262745098, green: 0.262745098, blue: 0.262745098, alpha: 1)

        snakeBlock = SKSpriteNode(imageNamed: "GreenBlock")
        snakeBlock.size = CGSize(width: frame.size.width/8.0, height: frame.size.width/8.0)
        snakeBlock.position = CGPoint(x: frame.midX, y: frame.midY)
        addChild(snakeBlock)
    }
}

我希望屏幕上会显示一些内容,尽管它表示有两个节点,但除了第一个节点以外,我什么都看不到。

CodeHurts

我没有将这个项目作为游戏项目启动,因此没有GameScene.sks文件,并且场景锚点未设置为视图的中心。为此,我必须在GameScene类的didMove函数中进行设置,如下所示:

override func didMove(to view: SKView) {
        layoutScene()
        scene?.anchorPoint = CGPoint(x: 0.5, y: 0.5)
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的一个精灵不会出现在我的 pygame 代码中

为什么我的CardView不会出现在我的片段中?

地图中的列表不会出现在我的 ListView 中

为什么我的推文按钮不会出现在我的页面上?

为什么在发出发布请求时用户名不会出现在我的负载中?

对于JavaScript游戏,对象不会出现在我的屏幕上

为什么我的图像不会出现在画布上?

为什么我的acf自定义字段不会出现在某个位置?

Google地图不会出现在Bootstrap Modal中

文本不会出现在TextView中

在Eclipse中,Glass不会出现在DDMS下

引导多选全选不会出现在列表中

alertDialog将不会出现在颤动中

模态不会出现在反应中

GraphAPI架构扩展不会出现在消息中

整数不会出现在TextField中

纹理不会出现在 OpenGL 中

DevExpress控件不会出现在工具箱中,也不会出现在“添加新项”中

为什么我的内容会出现在外面?

幽灵用户?用户既不会出现在登录屏幕上,也不会出现在“用户”命令中

不必要的C ++代码最终会出现在我完成的程序中吗?

我不知道为什么这个错误会出现在 Laravel 中?

滚动时,我的主徽标横幅会出现在导航栏中

奥利奥:当我使用NotificationManager.IMPORTANCE_LOW时,通知不会出现在状态栏中

为什么我的while循环有时会卡住,而有时却不会出现在“秘密圣诞老人”程序中?

如何保持我的位置:固定的导航栏不会出现在其他元素下方?

为什么我的变量不会使用Jquery出现在文本框中?

我的主目录出现在我的下载目录中

无法让我的输入值出现在我的函数中