SKSpriteNode не попадает в корневую сцену - PullRequest
0 голосов
/ 08 мая 2018

Я добавляю несколько узлов с повторяющимся интервалом времени, но все они не падают естественным образом. Я также добавил

item!.physicsBody?.isDynamic = true

item!.physicsBody?.affectedByGravity = true

и я звоню

self.scene?.addChild(itemController.spawnItem()) из Gameplayscene

func spawnItem()-> SKSpriteNode{
        let item : SKSpriteNode?;
        if Int(randomBetweenNumbers(firstnum: 0, secondnum: 10)) >= 6{
            item = SKSpriteNode(imageNamed: "Bomb");
            item!.name = "Bomb";
            item!.setScale(0.6);
            item!.physicsBody = SKPhysicsBody(circleOfRadius: item!.size.height / 2);
        }
        else{
            let num = Int(randomBetweenNumbers(firstnum: 1, secondnum: 6));
            item = SKSpriteNode(imageNamed: "Fruit\(num)");
            item!.name = "Fruit";
            item!.setScale(0.7);
            item!.physicsBody = SKPhysicsBody(circleOfRadius: item!.size.height / 2);

        }

        item!.physicsBody?.categoryBitMask = ColliderType.FRUIT_AND_BOMB

        item!.zPosition = 3;
        item!.physicsBody?.isDynamic = true
        item!.physicsBody?.affectedByGravity = true
        item!.physicsBody?.isResting = false
        item!.anchorPoint = CGPoint(x: 0.5, y: 0.5)
        item!.position.x = randomBetweenNumbers(firstnum: minX, secondnum: maxX)
        item!.position.y = 400
        return item!;
    }

1 Ответ

0 голосов
/ 09 мая 2018

Параметр силы тяжести моей сцены y был установлен равным 0, поэтому все добавляемые узлы не падают на нижний слой, поэтому он был изменен на -0,8: он работал для меня

...