Xcode Swift 位置移动 - 碰撞

Xcode Swift Position moving - Collisions

我刚刚添加了碰撞,现在我的 "hero" 会去到他应该去的地方一秒钟,然后一直传送到屏幕左侧,我只能看到大约 1 /他的第 8 位! Here for Image

这是我添加碰撞的代码,只有当我将 Dynamic 设置为 "true" 时才会发生这种情况,如果我将其设置为 false,他就会去他应该去的地方,我可以完全看到他!但我需要将 Dynamic 设置为 true,这样他就可以 运行 进入我添加到碰撞中的墙。

    var heroCategory: UInt32 = 1
    var wallCategory: UInt32 = 2

    hero = CSHero()
    hero.position = CGPointMake(70, movingGround.position.y + movingGround.frame.size.height/2 + hero.frame.size.height/2)
    hero.physicsBody = SKPhysicsBody(rectangleOfSize: hero.size)
    hero.physicsBody?.dynamic = true
    hero.physicsBody?.allowsRotation = false
    hero.physicsBody?.categoryBitMask = heroCategory
    hero.physicsBody?.collisionBitMask = wallCategory
    addChild(hero)

    wallGenerator = CSWallGenerator(color: UIColor.clearColor(), size: view.frame.size)
    wallGenerator.position = view.center
    wallGenerator.physicsBody = SKPhysicsBody(rectangleOfSize: wallGenerator.size)
    wallGenerator.physicsBody?.dynamic = false
    wallGenerator.physicsBody?.categoryBitMask = wallCategory
    wallGenerator.physicsBody?.collisionBitMask = heroCategory

当我将 Dynamic 设置为 true 时,如何让他进入我希望他处于的位置?

看起来你的墙就是你的全貌,你的墙碰撞箱是怎么做的?你可能会把你的英雄踢到屏幕外。