Game Development Community

Creating a Loading Screen?

by Richard Skala · in iTorque 2D · 07/23/2010 (10:28 pm) · 5 replies

What have any of you done in the past to create a Loading Screen? I want to avoid having a black screen in between levels and such.

I've searched the forums here, and I could have sworn there were posts about this, but I can't seem to find them any more!

I'm not sure if this is the most elegant way to do it, but I thought about creating a "Persistent" object (one that persists across all levels) and setting that object to Layer 30, so it's deeply hidden behind everything, except when in-between levels. I'd like to hear how other people have handled Loading Screens.

#1
07/23/2010 (11:07 pm)
Well, I tried the method I mentioned (Persistent object at Layer 30), and it doesn't appear to work -- I still get a black screen between levels.
#2
07/24/2010 (12:19 am)
Hmm, I've never actually needed a loading screen once the game was up and running but why don't you just create a loading level with nothing but the loading screen on it and then load the rest of your level specific datablocks from this screen?

There might be a more elegant way but that's the first approach that comes to mind.
#3
07/24/2010 (12:23 am)
On iPhone 3GS and iPhone 4, the loading is really fast, but on older models, the black screen is there for a couple of seconds.
#4
07/24/2010 (6:29 am)
I do something similar to what Nate is talking about. When I change levels I load a blank screen, and then load a caption for that level, something like "LEVEL 1 ... blah blah (name of level)". The text then remains visible until the next level loads up. That seems to work quite well.
#5
07/24/2010 (4:17 pm)
I don't know why I didn't think of this before, but I just thought of a way to do it. Create and name a GuiBitmapCtrl in mainScreen.gui (as a child of mainScreenGui), and then it will always exist. Show it when loading a level, and hide it in 'onLevelLoaded' somewhere. I'll try it out and post my results.

*UPDATE* I tried this out, and it works exactly as it needs to!