Xcode 6 Swift:在屏幕的两侧放置2个块?

时间:2015-01-03 02:24:14

标签: swift xcode6

我需要在左上角和右上角的屏幕两侧放置2个方块。这看起来很简单,我做了几次尝试,但这些街区无处可见。我尝试过同时使用CGPointCGPointMake,只使用数字坐标,但这些块没有出现在GameScene中。

这些街区将在稍后向下移动。我在这里初始化所有内容:

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 个答案:

答案 0 :(得分:1)

您需要使用addChild:将块添加到您的节点。

更多备注:

如果您打算覆盖变量,则无需在声明变量时初始化变量。相反,使用force unwrapped变量。

var block1 : SKSpriteNode!

如果你想要角落中的积木,你的y应该是0.1的高度时间,而不是0.9

此外,您可能看不到任何内容,因为找不到图像(检查名称)或不包含可见元素。

另请注意,frame属性可能具有意外值。来自文档:

  

框架是包含节点内容的最小矩形,同时考虑了节点的xScale,yScale和zRotation属性。并非所有节点都包含自己的内容。