2016-07-26 10 views
0

나는 가속도계에 의해 변경되는 중력 방향에 따라 움직이는 우주선을 가지고 있지만 화면의 너비만을 따라 움직이기를 원합니다. 어떻게하는지),하지만 고정 된 수평선에 그것을 유지하는 방법을 모르겠습니다. 여기 내 코드가가속도계를 고정 된 x 위치로 코딩하는 방법

class GameScene: SKScene { 

var manager = CMMotionManager() 
var ship = SKSpriteNode() 



override func didMoveToView(view: SKView) { 
    /* Setup your scene here */ 


    let shipTexture = SKTexture(imageNamed: "EvadersShipVert2.png") 

    ship = SKSpriteNode(texture: shipTexture) 

    ship.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame) - 250) 

    ship.size = CGSize(width: 90, height: 115) 

    shipTexture.filteringMode = SKTextureFilteringMode.Nearest 

    ship.zPosition = 2 

    ship.physicsBody = SKPhysicsBody(texture: shipTexture, size: CGSize(width: 90, height: 115)) 

    ship.physicsBody?.dynamic = true 

    self.addChild(ship) 


    manager.startAccelerometerUpdates() 
    manager.accelerometerUpdateInterval = 0.1 
    manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { 

     (data, error) in 

     self.physicsWorld.gravity = CGVectorMake(CGFloat((data?.acceleration.x)!), CGFloat((data?.acceleration.y)!)) 


    } 






} 

감사합니다.

답변

0

self.physicsWorld.gravity = CGVectorMake(CGFloat((data?.acceleration.x)!), CGFloat((data?.acceleration.y)!)) 

그래서

self.physicsWorld.gravity = CGVectorMake(0.0, CGFloat((data?.acceleration.y)!) 

당신이 배는 여전히 화면을 아래로 떨어지는 x 위치

+0

영향을주지 않는 것, 그것은 단지에 가속도계에 응답하지 않습니다 교체 y 축 –

+0

나는 대답을 업데이트했다. – Luke