gpt4 book ai didi

Swift SpriteKit Sprite 移动但保留原始位置

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

使用带有集成游戏工具包的普通游戏应用程序设置。在场景中确实加载了我添加的

  self.hero = SKShapeNode.init(rectOf: CGSize.init(width: 10, height: 10), cornerRadius: 1)
if let hero = self.hero {
let pos = CGPoint.init(x: -50, y: -90)
hero.lineWidth = 5
hero.position = pos
}

self.addChild(self.hero!)

然后在我添加的update函数中

 if let hero = self.hero {
let moveAction = SKAction.moveTo(x: 12, duration: 1)
hero.run(moveAction)
}

这运行良好, Sprite 按需要移动,但原始位置似乎有 Sprite 的副本。我错过了什么。当然不需要在每次更新时删除和添加它

最佳答案

发生这种情况是因为您应该使用(作为 “hello world” Sprite-kit 游戏模板语法):

override func didMove(to view: SKView) {}

代替:

override func sceneDidLoad() {}

似乎 sceneDidLoad 被触发了两次,xCode 首先设置了场景的虚拟版本,然后是真实场景。还有一个bug打开它。

您的代码输出:

enter image description here

输出 didMove(to view::

enter image description here


关于您的评论,请看这张图片(它来自 Xcode 版本 8.2.1 - 新项目 - 游戏模板 (spritekit)):

enter image description here

关于Swift SpriteKit Sprite 移动但保留原始位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41767171/

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