foobar5512
foobar5512

Reputation: 2490

SKSpriteNode that the correct size

I am trying to draw a SKSpriteNode that is 30 tall and has the width of the viewport. This is the code (inside SKScene):

    func floor() -> SKSpriteNode{

    let floor = SKSpriteNode(color: SKColor.greenColor(), size: CGSizeMake(self.size.width, 20))

    floor.position = CGPointMake(0, 0)

    floor.physicsBody = SKPhysicsBody(rectangleOfSize: floor.size)

    floor.physicsBody.dynamic = false

    return floor
}

The sprite is added to the scene like this:

    override func didMoveToView(view: SKView!){

    if (!contentCreated){

            self.createContents()
            contentCreated = true
    }

}

func createContents() {

    self.backgroundColor = SKColor.blackColor()

    self.scaleMode = SKSceneScaleMode.AspectFill

    self.addChild(self.floor())

}

The sprite is 30 tall (seemingly), but the length seems to be half of the viewport in width instead of the full width. The code that creates this scene is:

    var mainScene = MainScene(size: self.view.frame.size)
    spriteView.presentScene(mainScene)

This code is inside a ViewController.

Does anyone know what might be going on?

Upvotes: 1

Views: 82

Answers (1)

Kaelin Colclasure
Kaelin Colclasure

Reputation: 3975

The default anchorPoint of a sprite node is { 0.5, 0.5 }, which could result in the code above positioning only half of your sprite on the screen. Try setting the anchorPoint to { 0.0, 0.0 } and see if that helps.

Upvotes: 2

Related Questions