2016-11-19 4 views
0

YouTube 동영상 ( https://www.youtube.com/watch?v=D7ntzPFvMf0)에서 flappy bird 모양을 비슷하게 만들려고 노력 중이며 신속하게 만들어졌습니다.이 작업을 시도하고 있습니다. 신속 함 3. 터치가 시작될 때까지 모든 것이 순조롭게 진행되었습니다.터치가 시작될 때 내 물체의 물리 구조가 뛰지 않습니다.

중력에 의해 영향을받는 것처럼 모든 이전 물리 동작이 작동했습니다. 터치가 시작되면 아무 것도 클릭하지 않습니다. 나는 그것이 인쇄에 의해 작동하고 있는지 알아보기 위해 테스트했다. 그래서 클릭 할 때 내 datBoi를 뛰어 오르려고합니다. 참고로 비디오 나를

datBoi.physicsBody?.applyImpulse(CGVectorMake(0, 100)) 

을 넣어했지만, 나는이 빠른 3

에 어떤 도움이 여기에 감사 만료 된 것으로 보인다으로

CGVector(dx: 0,dy: 100) 

이 내가 아는 것과 그것을 대체 datBoi 개체에 관한 내 코드입니다.

struct PhysicsCategory 
    { 
     static let datBoi : UInt32 = 0x1 << 1 
     static let Ground : UInt32 = 0x1 << 2 
     static let Wall : UInt32 = 0x1 << 3 
    } 

    class GameScene: SKScene 
    { 

    var Ground = SKSpriteNode() 
    var datBoi = SKSpriteNode() 

    override func didMove(to view: SKView) 
    { 
     datBoi = SKSpriteNode(imageNamed: "datboi") 
     datBoi.size = CGSize(width: 150, height: 240) 
     datBoi.position = CGPoint(x: -85, y: 0) 

     datBoi.physicsBody = SKPhysicsBody(rectangleOf: datBoi.size) 
     datBoi.physicsBody?.categoryBitMask = PhysicsCategory.datBoi 
     datBoi.physicsBody?.collisionBitMask = PhysicsCategory.Ground | PhysicsCategory.Wall 
     datBoi.physicsBody?.contactTestBitMask = PhysicsCategory.Ground | PhysicsCategory.Wall 
     datBoi.physicsBody?.affectedByGravity = true 
     datBoi.physicsBody?.isDynamic = true 
     datBoi.zPosition = 2 
     self.addChild(datBoi) 
    } 

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) 
    { 
     datBoi.physicsBody?.velocity = CGVector(dx: 0, dy: 0) 
     datBoi.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 100)) 
     print("hi") 
    } 
    } 

답변

0
Circle.physicsBody?.velocity = CGVector(dx: 0, dy: 0) 
    Circle.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 74)) //Also try affected by gravity to false