SYN TIP: A clear definition between "VISIBLE" and "INVISIBLE" actors
As a beginner...this confused me a bit early on. I think I have it figured out completely and I thought I would share as a tip.
Okay...here goes:
In an actor's attribute panel...in the Graphics list, there is a "Visible" setting.
In the Color list there is an "Alpha" setting.
Generally these work about the same during the game with a few subtle differences.
1 key difference is that alpha can be a variable amount (ie...a decimal value) between 0 and 1.
The visible value is a boolean - meaning only true or false (on or off).
Here is how I recommend using them and helping your game work better.
First...always leave "visible" to TRUE or checked. This will allow you to SEE the actor on your scene during development. Use it like a master light switch for that actor in your own development space. Then adjust the default alpha level to a transparency level that is comfortable for you in development...such as .5. Use the alpha value to control whether the gamer sees the actor or not...but apply that setting within the actors behavior build.
For example...you have a great maze background you made in photoshop. Then you have a "wall" actor that is a generic square of color. Set the color to .5 alpha and then you can layout your walls (used for collision boundaries) in the scene over the top of the background but you will be able to still see through them for proper sizing and location alignment with the background.
Then in the wall Actor, the first behavior should be:
Change Attribute: self.alpha = 0
This will make the wall "invisible" to the gamer but will still remain "visible" during your development.
This technique works great for anything you want to be invisible such as buttons, sensors, etc. and allows you to do most of your graphics as a background image in Photoshop and not have to build all of the graphics as individual sprites and position them everywhere (such as interface buttons).
It will potentially save you time as well as keep your development area workable. Use different colors for different types of functions...such as green for buttons, white for walls, blue for bumpers, red for data or whatever works for you.
PS:
This polling system sucks...I pressed Enter accidentally...and can't edit it now.
Oh well! If you think this tip sucks...use the poll!
Okay...here goes:
In an actor's attribute panel...in the Graphics list, there is a "Visible" setting.
In the Color list there is an "Alpha" setting.
Generally these work about the same during the game with a few subtle differences.
1 key difference is that alpha can be a variable amount (ie...a decimal value) between 0 and 1.
The visible value is a boolean - meaning only true or false (on or off).
Here is how I recommend using them and helping your game work better.
First...always leave "visible" to TRUE or checked. This will allow you to SEE the actor on your scene during development. Use it like a master light switch for that actor in your own development space. Then adjust the default alpha level to a transparency level that is comfortable for you in development...such as .5. Use the alpha value to control whether the gamer sees the actor or not...but apply that setting within the actors behavior build.
For example...you have a great maze background you made in photoshop. Then you have a "wall" actor that is a generic square of color. Set the color to .5 alpha and then you can layout your walls (used for collision boundaries) in the scene over the top of the background but you will be able to still see through them for proper sizing and location alignment with the background.
Then in the wall Actor, the first behavior should be:
Change Attribute: self.alpha = 0
This will make the wall "invisible" to the gamer but will still remain "visible" during your development.
This technique works great for anything you want to be invisible such as buttons, sensors, etc. and allows you to do most of your graphics as a background image in Photoshop and not have to build all of the graphics as individual sprites and position them everywhere (such as interface buttons).
It will potentially save you time as well as keep your development area workable. Use different colors for different types of functions...such as green for buttons, white for walls, blue for bumpers, red for data or whatever works for you.
PS:
This polling system sucks...I pressed Enter accidentally...and can't edit it now.
Oh well! If you think this tip sucks...use the poll!

Comments
Visible cannot be changed during runtime. Whereas the Alpha transparency can be changed and animated during the game.
If Visible is turned off, the processor will not try to render the Actor, saving you CPU cycles.
If the alpha is set to 0, the processor WILL draw the Actor, even though you can't see it.
Alpha represents the opacity, or transparency, of an Actor - whereas Visible is a flag that tells the CPU whether to draw it or not.
It works similarly to the Movable attribute, which is a flag that tells the processor whether to add the Actor into the physics system or not. If the Actor is NEVER going to be seen, make sure to turn its Visible property to false for the final build.
If you have any Actors that are never in the Scene, i.e various types of "Scene Controller" actors that sit off screen, turn their Visible attribute to FALSE, so they don't get needlessly drawn.
The only thing I might disagree with, or just something to be aware of, is that by just setting an actor's Alpha to 0 - you will get a "false" performance hit when you test your game. The CPU will still render the Actor. If you have a lot of invisible actors, you'll start to notice it.
But I agree that setting an 0.5 alpha for an Actor is a great way to lay out invisible walls, sensors, etc.. (and setting different colors is definitely cool) while you are building the level. I would just make sure to turn Visible off when you are testing.
I didn't know the processor impact on the settings...Good addition to the TIP.
Another consideration...Leave everything visible while you are developing...even in testing. Then if you can get the game to perform adequately with everything visible, then just before releasing the game, change all your visible settings to 0 in all actors that are intended to be invisible.
This way you will develop with some processor "cushion" or "padding"...and your game should perform well optimized at final publishing.
Thanks again FMG for adding to this tip! I think its a REALLY good one now with your comments...especially for those looking to squeeze out some FPS.
Also...Even though the actor is assigned "Not Movable", It is my recollection that you can still "FORCE" move them around the screen by modifying their X and Y position. However the physics behaviors (such as Move or Accelerate) will not work on a physics disabled setting.
_______________________
*** visit www.spiritApps.com to check out the Spirit Connoisseur Apps ***
(now available for 17+)
i noticed that when visible is off, you cannot see particles!
so just letting you know..
thanks synthesis
if an actor is off scene, it would be nice to switch it off so CPU is not used. It would be a massive performance increase.
Yes...if the actor is not loaded into the renderer...then no particles will render. The visibility boolean tells the renderer whether to load it or not.
@BinBis...
The reason you cannot flip it during the game is that it is a boolean to tell the renderer whether to consider the actor for rendering or not. This has to be determined prior to loading the scene. Just use the alpha value setting to make an actor turn on and off like a switch.
If an actor leaves the screen...and you do not need it anymore...you should destroy it.
_______________________
*** visit www.spiritApps.com to check out the Spirit Connoisseur Apps ***
(now available for 17+)