Jump to content

File Structure


Squize
 Share

Recommended Posts

This may be a naive question, apologies if so, I'm just wondering how everyone structures the actual files of their Phaser games.

 

By that I mean, do you break each core section out into it's own .js file. For example, I'm thinking I'll have a file ( I so want to call it a class ) just for the preload method, where I can hide away all the game.load calls, as I don't want to be seeing them in my main.js file every day.

 

My current thinking is I'll have a Main file that would have my global vars and kickstart the game off, ie

 

game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update });

 

And then my preload method ( Argh, function ) would be in it's own preloader.js and so on.

 

Is this a valid / common approach, or am I just clinging too much to OOP where it doesn't fit ?

 

Cheers,

 

Squize.

Link to comment
Share on other sites

That's exactly the approach that I use, except that I tend to split things like preloading etc. into states primarily; each in its own js file. So my preloader (Preloader.js) is a state inside of which I handle all of the preloading tasks and what not and then transition into the next state (maybe the title screen). You can see an example of this in phaser/wip/examples/state

Link to comment
Share on other sites

I do the same but it depends on the size of the game how far I'll break it down. For Wolfblood I had a sub-folder for every mini-game as there were loads of them. Then inside those I had a Preloader, the main Game and often some support files too (game specific objects). In the root I had a Boot file, the Preloader and some BBC specific stuff. I would recommend the use of a Boot state, I made a post on this forum about it a week or two ago, it's worth reading imho as it shows you how to make a proper preloader :)

Link to comment
Share on other sites

Cool thanks mate. I'm Class happy so I'm trying to calm that down a little bit as its taken on OCD levels ( I did a quick file count for the source files in O2 the other day, 434, which is mental ).

I think I may have used your Boot method without realising it, just a simple main file with the update method in it and using a function pointer to handle my state machine ( I'll check yours out though, I'm devouring any and all examples atm ).

In all honesty I actually enjoyed coding in js today for the first time ever, I'm panting for the Phaser docs ( I guess I'm the first to mention that ;) ) but having some AS3 like structure was really nice. Also using Light Table is like coding in the future.

Squize.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...