首页 > 解决方案 > SpriteKit:从 SKSpriteNode 移除重力不起作用

问题描述

我正在尝试从 SKSpriteNode 中移除重力但不工作。这是我的代码:

我添加添加 SKSpriteNode:

let block: SKSpriteNode = self.childNode(withName: "block") as! SKSpriteNode

我通过 Scene.sks 添加重力

我尝试了所有这些方法来消除重力,但都没有奏效:

block.physicsBody?.affectedByGravity = false
block.physicsBody?.isDynamic = false
block.physicsBody?.velocity.dy = 0
block.physicsBody?.categoryBitMask = 0

如何从 SKSpriteNode 中移除重力?你们中的任何人都知道

我会非常感谢你的帮助。

标签: sprite-kitxcode10gameplay-kitswift4.2

解决方案


看起来(根据给定的代码)您的精灵是 GameScene.sks 中的彩色精灵。如果是这样,这很容易解决。

只需从 GameScene.sks 文件中移除重力:

图 1

图 2

图 3

将物理定义切换为无,或从“受重力影响”中删除勾选

如果您试图从代码中的精灵中删除重力,如果我错了,请纠正我,但我认为您做不到。我更喜欢在我的场景中手动设置物理,以避免这样的错误。


推荐阅读