2017-01-31 4 views
1

Так что я использую 3 SKSpriteNode в моей заявке. floorSprite, leftWall и rightWall.SKSpriteNode создает тонкую цветную линию

Это код, я в настоящее время использую:

let floorSprite = SKSpriteNode()//(imageNamed: "floor") 
    floorSprite.alpha = 0.0 
    floorSprite.anchorPoint = CGPoint(x: 0.5, y: CGPoint.zero.y) 
    floorSprite.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: self.frame.size.width, height: floorSprite.size.height + 12)) 
    floorSprite.physicsBody?.isDynamic = false 
    floorSprite.physicsBody?.restitution = 0.4 
    floorSprite.position = CGPoint(x: self.frame.minX, y: self.frame.minY + (floorSprite.size.height/2)) 
    floorSprite.physicsBody?.contactTestBitMask = 0x1 << 1 
    floorSprite.physicsBody?.collisionBitMask = 0x1 << 1 
    floorSprite.zPosition = 4 
    floorSprite.aspectFillToSize(self.frame.size) 
    self.addChild(floorSprite) 
    self.floorSprite = floorSprite 

    let leftwall = SKSpriteNode() 
    leftwall.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 0.1, height: self.frame.size.height*2)) 
    leftwall.physicsBody?.collisionBitMask = 0x1 << 1 
    leftwall.physicsBody?.isDynamic = false 
    leftwall.position = CGPoint(x: 0 , y: self.frame.size.height/2.0) 
    leftwall.zPosition = 4 
    leftwall.physicsBody?.restitution = 1.0 
    self.addChild(leftwall) 

    let rightwall = SKSpriteNode() 
    rightwall.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 0.1, height: self.frame.size.height*2)) 
    rightwall.physicsBody?.collisionBitMask = 0x1 << 1 
    rightwall.physicsBody?.isDynamic = false 
    rightwall.physicsBody?.restitution = 1.0 
    rightwall.position = CGPoint(x: self.frame.size.width , y: self.frame.size.height/2.0) 
    rightwall.zPosition = 4 
    self.addChild(rightwall) 

Вот скриншот этого вопроса у меня есть. Вы можете видеть светло-голубые линии, которые показывают. Если я удалю линию self.addChild, Sprite не будет, и светло-голубой цвет исчезнет. CLICK HERE FOR IMAGE.

Любые идеи могут быть неправильными здесь? Я попытался добавить leftWall.isHidden = true и leftWall.alpha = 0.0 но это не имеет никакого эффекта ...

+3

у вас есть '.showsPhysics = true' на представлении, прикрепленной к сцене? –

+0

@RezaShirazian Ты спасатель. Удалили эту линию, и теперь все это fint, спасибо! :) – Andr3wz

ответ

1

Это выглядит как у вас есть SKScene.showPhysics на .. это выключить в вашем AppDelegate (или didmovetoview) или где бы вы включили его, и линии должны идти далеко.

Они вызваны ваши физические тела :)

Смежные вопросы