LSL HUD Tutorial
HUD stands for Heads-Up Display. They are used for graphical user interface elements, such as menu, power-meters, buttons.
HUD Are Just Objects
In Second Life, a HUD is simply a normal object (prims) that are attached to the user's “screen”. So, all scripting about prims applies to the HUD system. There is nothing special about objects used as a HUD.
Here are some examples of HUDs as seen from a user's screen:
A button in a hud, is simply a prim that responds to touch. A bar meter in a hud, is simply a long box prim that changes its length, or changes it's texture. A round meter in a hud, is just a rotating prim. How a hud responds to the environment/game is simply scritped by the normal ways of communication. For example, in a gun fighting game, if a player is hit, the bullet may broadcast a message, and the hud's health bar prim will listen to it, and decrease its length.
HUD Attachment Points
There are 8 positions on the screen for hud attachment. They are: Center 2, Top Right, Top, Top Left, Center, Bottom Left, Bottom, Bottom Right.
How is A Prim's Dimension Mapped To The Screen
A object has 3 dimensions, x, y, and z. The screen has only 2 dimensions. When a prim is attached to the screen, its size in x dimension is ignored. Its y dimension is the width of the object on the screen, and its z dimension is the height.
The user's Second Life window height determines how many pixels is 1 meter. So, if your Second Life window is 1024 pixels vertically, then, 1 meter = 1024 pixels. This means, if you attach a cube prim .5 meter per side, to the center of the screen, then it will have a height of 512 pixels. (and width of 512 pixels too)
Screen's Coordinate System
A object attached to the screen can be moved vertically or horizontally. This is done by right click on the object, then drag the arrows the same way you change object's positions in-world.