2015-01-03 57 views
0

我需要在左上角和右上角的屏幕兩側放置2個方塊。這似乎很簡單,我已經做了幾次嘗試,但塊沒有在哪裏看到。我試過使用CGPointCGPointMake,只是使用數字座標,但塊沒有出現在GameScene中。Xcode 6 Swift:在屏幕兩側放置兩個塊?

這些區塊將在稍後的位置向下移動。我初始化這裏的一切:

class GameScene: SKScene { 

var savior = SKSpriteNode() 

var block1Texture = SKTexture() 
var block2Texture = SKTexture() 
var blocksMoveRemove = SKAction() 
let blockGap = 150 
var block1 = SKSpriteNode() 
var block2 = SKSpriteNode() 

這裏就是我需要設置塊的位置:

//Create blocks 

    block1Texture = SKTexture(imageNamed: "block1") 
    block2Texture = SKTexture(imageNamed: "block2") 
    block1 = SKSpriteNode(texture: block1Texture) 
    block2 = SKSpriteNode(texture: block2Texture) 

    block1.setScale(1) 
    block2.setScale(1) 
    block1.position = CGPoint(x: self.size.width * 0.2, y: self.size.height * 0.1) 
    block2.position = CGPoint(x: self.size.width * 0.8, y: self.size.height * 0.1) 

    self.addChild(block1) 
    self.addChild(block2) 

回答

1

您需要的塊與addChild:添加到您的節點。

更多的言論:

你不必聲明它們時初始化變量,如果你反正打算覆蓋它們。相反,使用強制解包變量。

var block1 : SKSpriteNode! 

如果你想在角處的塊,你y應高度倍0.1,不0.9

此外,您可能看不到任何內容,因爲圖像未找到(檢查名稱)或不包含可見元素。

此外,請注意,frame屬性可能具有意想不到的值。從文檔:

幀是包含節點內容的最小矩形,考慮節點的xScale,yScale和zRotation屬性。並非所有節點都包含其自己的內容。

+0

好的。我用'addChild'添加了塊,並完全刪除了對'frame'的引用。我甚至試圖將位置設置爲像(20,20)那樣的數字座標來查看是否做了任何事情。資產的名稱是正確的。當我將「block1」更改爲另一個更大的圖片時,它會顯示在左下角。這是怎麼回事?我編輯了我的問題代碼 – skyguy

+0

沒關係。圖像太小,太離屏幕太遠。謝謝 – skyguy