0 Replies
      Latest reply on Jun 6, 2019 6:47 AM by RyverFr
      RyverFr Level 1 Level 1 (0 points)



        First, I'm sorry for my level of English.

        I know how to program in swift and I think to know how to use SpriteKit. I try to develop a game (a little bit like Factorio). And after many tests I find myself stuck.


        I'm afraid I do not use SpritKit properly.


        Here is my simplified architecture :


        class GameScene: SKScene{
             var g = Data()
             override func didMove(to view: SKView) {
                backgroundColor = SKColor.white
                let home = Home()
                home.crea(G: &g)
            override func update(_ currentTime: TimeInterval) {
                       let cell = Cell()
                       cell.crea(G: &g)
                    for i in 0...g.cells.count-1{
                        if(g.cells[i].goal == 2){
                            g.cells[i].UpdateColision(G: &g)
                        if(g.cells[i].goal == 0){
                            g.cells[i].UpdateGoal(G: &g)
                        else if(g.cells[i].goal == 1){
                            g.cells[i].UpdateStock(G: &g)
                        else if(g.cells[i].goal == 2){
                            g.cells[i].UpdateMove(G: &g)


        And this is one exemple of func in class Cell


        func UpdateMove(G: inout Data) { // goal 2
                var angle = Float()
                let dx = goalPoint.x - self.position.x;
                let dy = goalPoint.y - self.position.y;
                angle = atan2f(Float(dy), Float(dx));
                    self.zRotation = CGFloat(angle)
                    self.position = CGPoint(x:self.position.x + cos(self.zRotation) * 1,y:self.position.y + sin(self.zRotation) * 1)


        For me this architecture is realy simple to use. But maybe is not the best way to optimise FPS ?
        I would like to add some child to the Cells (exemple : the food collected...) But I think it's to heavy to use SKSpriteNode for this. What do you think ?


        You have to imagine the game with thousands (if possible) "Cells" on the map.