Xcode Swift Position移动 - 碰撞

时间:2015-04-07 19:39:59

标签: ios swift sprite-kit skphysicsbody

我刚刚添加了碰撞,现在我的“英雄”会转到他想要的位置,然后瞬间传送到屏幕的左边,我只能看到他的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时,如何让它进入我希望他成为的位置?

1 个答案:

答案 0 :(得分:0)

看起来你的墙是你的整个视图,你是如何制作你的墙碰撞盒的?你可能会在屏幕外踢你的英雄。