Sprite kit SKSpriteNode不会遵循确切的路径

Sprite kit SKSpriteNode不会遵循确切的路径,sprite-kit,skspritenode,skaction,Sprite Kit,Skspritenode,Skaction,图中描述了问题 to 2:如果移除阻塞节点,则SKSpriteNode应再次移动 根据您在评论中的目标: 如果需要将节点SKSpriteNode、SKShapeNode等移动到场景中的特定坐标,以下是示例: let boxSize = CGSize(width: 50, height: 50) var box = SKShapeNode(rect: CGRect(x: 25, y: 25, width: boxSize.width, height: boxSize.height)) var po

图中描述了问题

to 2:如果移除阻塞节点,则SKSpriteNode应再次移动


根据您在评论中的目标:

如果需要将节点SKSpriteNode、SKShapeNode等移动到场景中的特定坐标,以下是示例:

let boxSize = CGSize(width: 50, height: 50)
var box = SKShapeNode(rect: CGRect(x: 25, y: 25, width: boxSize.width, height: boxSize.height))
var point = CGPoint(x: 25, y: 125)
var animTime:TimeInterval = 2
box.physicsBody = SKPhysicsBody.init(rectangleOf: boxSize)

let moveToPointAction = SKAction.move(to: point, duration: animTime)
box.run(moveToPointAction)

您应该共享部分代码,以显示您在SkSpritode上运行的SKAction。您的问题可能与物理体有关,特别是如何配置节点的质量/密度。但是,如果你想完全控制SKSpriteNode如何移动,你应该考虑实现碰撞,所以当SKSpriteNode和阻挡节点碰撞时,你可以移除初始的SkAct并应用新的SkActs。这不会解决这个问题。我只是想知道如何创建一个SKAction,如果我给出精确的coordinates@Lucas我回答了你的问题。您想知道如何创建SKAction并将对象移动到特定点。我的回答正是这样。如果合并其他对象,则需要实现碰撞检测,并在两个对象发生碰撞时根据需要处理它们。祝你好运