Splash Screen Manager control - guiSplashMgrCtrl
by Ryan Mick · 08/19/2009 (3:48 pm) · 90 comments
What is it?
The guiSplashMgrCtrl is a GUI control for creating multiple splashes in TGE/TGEA/T3D. The guiSplashMgrCtrl control uses child controls that inherit from a base guiSplashItemCtrl which encompasses most of the base functionality for showing a splash item. Included in this is the guiSplashBitmapCtrl which fades a bitmap in and out over defined times.
What it does
By extending the guiSplashItemCtrl and creating the guiSplashBitmapCtrl you will be able to use this to present your users with sequential or randomized splash items when your game loads or by utilizing it in playgui you can create effects like count downs or blood splatters. Splash items can be randomly shown with a simple console call.
Extendable
Creating your own splash items is easy. All you have to do is make sure you inherit from guiSplashItemCtrl. You will then want to override the following methods for your needs:
onRenderDesignTime
onRenderNormal
calcNewBounds
Look at the guiSplashBitmapCtrl (included in the zip) for an example of how to create your own controls.
Download
In the video below you can see the Splash Manager in action in 2 scenarios. The first is a an intro splash showing 3 splash items ( I used the same image for all 3). The next section is to create blood splatter effects over the playGui when ever the player takes damage. When the player takes damage a random splash item is shown (out of 5 profiled) and then it slowly fades away. The fade in and out times are configurable to your needs.
Now to work on migrating all my GUI controls to T3D.
The guiSplashMgrCtrl is a GUI control for creating multiple splashes in TGE/TGEA/T3D. The guiSplashMgrCtrl control uses child controls that inherit from a base guiSplashItemCtrl which encompasses most of the base functionality for showing a splash item. Included in this is the guiSplashBitmapCtrl which fades a bitmap in and out over defined times.
What it does
By extending the guiSplashItemCtrl and creating the guiSplashBitmapCtrl you will be able to use this to present your users with sequential or randomized splash items when your game loads or by utilizing it in playgui you can create effects like count downs or blood splatters. Splash items can be randomly shown with a simple console call.
Extendable
Creating your own splash items is easy. All you have to do is make sure you inherit from guiSplashItemCtrl. You will then want to override the following methods for your needs:
onRenderDesignTime
onRenderNormal
calcNewBounds
Look at the guiSplashBitmapCtrl (included in the zip) for an example of how to create your own controls.
Download
In the video below you can see the Splash Manager in action in 2 scenarios. The first is a an intro splash showing 3 splash items ( I used the same image for all 3). The next section is to create blood splatter effects over the playGui when ever the player takes damage. When the player takes damage a random splash item is shown (out of 5 profiled) and then it slowly fades away. The fade in and out times are configurable to your needs.
Now to work on migrating all my GUI controls to T3D.
About the author
#2
08/20/2009 (12:09 am)
very cool, what do you think about drops falling in the screen?, changing the z of the control in each draw?...
#3
08/20/2009 (12:56 am)
I had been thinking of extending the guiSplashBitmapCtrl to support texture animation via DML, would that work for you?
#5
I would really like to be able to add the blood splatter effect to my game, does anyone know how I could achieve this in TGE?
08/20/2009 (5:29 am)
This looks like a nice resource, unfortunately I'm only a TGE user so I can't use it. I had a quick look through the code to see if I could port it but it uses some files that aren't in TGE.I would really like to be able to add the blood splatter effect to my game, does anyone know how I could achieve this in TGE?
#6
08/20/2009 (11:06 am)
Paul, if I have some time this weekend I will try and get this working in TGE. It shouldn't be too bad of a port.
#7
08/20/2009 (12:44 pm)
very nice.
#8
08/20/2009 (12:51 pm)
did you base your class off of the GUI control again or did you do it off of the GUI Bitmap CTRL? The Gui Control doesn't appear to be resizing correctly at different resolutions so I found the GUI Bitmap to be a little more stable.
#9
08/20/2009 (1:38 pm)
It is based on GUIControl but handles it own resizing. The guiSPlashMgrCtrl resizes it's self during normal rendering to fit the screen. When the editor is enabled it will use what ever size is defined in it's properties. The splash items also resize themselves during normal rendering to the size of the bitmap and then center themselves in the screen. So basically you have 2 views one is when you have the GUI editor open and one when it is not. All sizing is handled for you.
#10
08/20/2009 (2:41 pm)
Ryan, that would be great if you could get it working with TGE.
#11
08/20/2009 (7:41 pm)
Ok, the port was easier than I thought it would be. The zip now contains a TGE and a TGEA version. The documentation has been updated to include TGE installation instructions.
#12
08/20/2009 (7:54 pm)
Anyone willing to donate some images for the blood dripping down the screen? If so I will work on the animated texture version.
#14
@Ryan, do you mean a sequence like an IFL?
08/21/2009 (12:44 am)
Quote:Anyone willing to donate some images for the blood dripping down the screen?
@Ryan, do you mean a sequence like an IFL?
#15
08/21/2009 (1:56 am)
yep, I use a technique with a texture list for the guiAdvBarHud for animation. The same technique can be applied here to make the blood drip down the screen. But I'm a programmer not an artist, so my artwork is usually quite embarrassing. If someone wants to donate the images I will put together splash item to make it happen.
#16
I'm willing to do the textures, just tell me what you need.
08/21/2009 (4:35 am)
how many images?I'm willing to do the textures, just tell me what you need.
#17
08/21/2009 (5:29 am)
Ryan, I'm glad you were able to get it working with TGE, thank you. I will try it out later when I've got some spare time.
#18
@Paul, let me know how it goes.
08/21/2009 (11:15 am)
@deepscratch, the number of textures would be however many you think would best create the effect. In the guiAdvBarHud I use a texture list (DML) and a defined animation rate to create the animated texture effect. What I am thinking about doing here is similar but I am thinking about allowing the image to define its own animation rate. This would be done appending a defined tag in the texture name. Something like texture1_ar1000.png, I would look for the "_ar" piece in the name and then use the value after it as the lifespan of image. If the section isn't in the name I will just use the defined animation rate. How does that sound?@Paul, let me know how it goes.
#20
08/21/2009 (12:27 pm)
@deepscratch, those look pretty realistic. Thanks for the images, I can't wait to see how this looks on the screen. 


Torque 3D Owner Novack
CyberianSoftware