2016-03-02 56 views
0

我在我的GameScene中正確定位兩個SKSpriteNodes有點麻煩。我的節點出現在場景中,但它們放大並佔據整個場景的大部分。我想有類似這樣的輸出:在GameScene中定位SKSpriteNodes

enter image description here

這裏是我當前的代碼:

let size = CGRect(x: 100, y:98, width:200, hight:271) 
bottomRectangle = SKSpriteNode(imageNamed: "bottomRectangle") 

bottomRectangle.zPosition = 3 
bottomRectangle.size.height = self.size.height 
bottomRectangle.size.width = self.size.width 
bottomRectangle.position = CGPoint(x: 200, y:271) 
bottomRectangle.physicsBody = SKPhysicsBody(edgeLoopFromRect: size) 





self.addChild(bottomRectangle) 

topRectangle = SKSpriteNode(imageNamed: "topRectangle") 
topRectangle.physicsBody = SKPhysicsBody(edgeLoopFromRect: size) 
topRectangle.zPosition = 4 
topRectangle.size.height = self.size.height 
topRectangle.size.width = self.size.width 
topRectangle.position = CGPoint(x: 100, y: 98) 
self.addChild(topRectangle) 
+0

此代碼不能編譯。你在'bottomRectangle'裏面加入'SKSpriteNode'然後加上'CGPoint'。 –

+0

我編輯並更新了我的代碼。 – Seed12

回答

0

您正在使用,因爲現場的尺寸,:

self.size.height 

你必須使用你的本地變量:

size.height 
+0

這確實有幫助,矩形不再佔用整個屏幕。然而矩形的位置和大小仍然稍微偏離。將設置錨點或使用CGPointZero幫助獲取如上圖所示位置的矩形?我也嘗試將矩形設置爲邊界,如上面的代碼所示,以防止對象在矩形之間留下空間。 – Seed12

+0

我認爲你必須使用類似比例來填充,以防圖像具有不同的大小,那麼你聲明的CGSize – Stefan

+0

對不起,遲到的回覆,我一直非常忙於工作。我感謝你的迴應。我正在使用比例來填充,但切換了Aspect Fit。我將嘗試爲每個酒吧的錨點進行修補。酒吧被炸得不成比例,整個酒吧將不會在場景中顯示。 – Seed12

相關問題