2016-07-05 27 views
1

我正在用一個球進行遊戲,實際上只是一個過濾因爲場景是旋轉的。問題在於,在某些設備中,球離開屏幕,而在另一些設備中,半徑看起來非常小。我試圖使半徑相等(orbita.size.width/2),但它不起作用。 (歐比特是球遵循軌道)如何縮放半徑以適應所有設備?

class GameScene: SKScene { 

    let sprite = SKSpriteNode(imageNamed: "circulo") 
var rotation:CGFloat = CGFloat(M_PI) 
let radius:CGFloat = 168 


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

    scaleMode = .ResizeFill 
    node.position = view.center 
    // 3) Add the container to the scene 
    addChild(node) 
    // 4) Set the sprite's x position 
    sprite.position = CGPointMake(radius, 0) 
    // 5) Add the sprite to the container 
    node.addChild(sprite) 
    // 6) Rotate the container 
    rotate() 
    sprite.color = UIColor.whiteColor() 
    sprite.colorBlendFactor = 1.0 
    sprite.zPosition = 4.0 



    orbita = SKSpriteNode(imageNamed: "orbita") 
    let padding2:CGFloat = 32.0 
    orbita.size = CGSize(width:view.frame.size.width - padding2 , height: view.frame.size.width - padding2) 
    orbita.color = UIColor.whiteColor() 
    orbita.colorBlendFactor = 1 
    orbita.alpha = 1 
    orbita.position = view.center 
    self.addChild(orbita) 
    orbita.zPosition = 3 
} 

回答

0

如果您orbita.size是(它由 「circulo」 名字似乎圓形歐比特):

orbita.size = CGSize(width:view.frame.size.width - padding2 , height: view.frame.size.width - padding2) 

的半徑是:

let radius:CGFloat = (view.frame.size.width - padding2)/2 
+1

謝謝@Alessandro – Alex

相關問題