Opened 20 years ago
Last modified 17 years ago
#22 new defect
HUD - Heads Up Display
Reported by: | patrick | Owned by: | nobody |
---|---|---|---|
Priority: | minor | Milestone: | Old Orxonox tickets orx-v0 |
Component: | GraphicsEngine | Version: | |
Keywords: | Cc: | ||
Referenced By: | References: |
Description
A HUD (Heads up Display) shows health, munition status to the player. There can be more things like scanner/radar, infrared camera… The HUD is one of the most important parts of our game. It should ban the player into the world of orxonox. This problem has got two sides:
- implementation
- design
It's very hard to design a fancy HUD, so before start doing it, be shure to check out everything on the inet you can find! Probably you will be wanting to co-work with a professional designer. There shall be more than one HUD with different desing, representing different ships.
The HUD consists of a core part, that can't be removed. The rest of the element on the HUD are so called HUDElements, that can be dynamicaly added/removed from the HUD. Therefore the HUD has a list of HUDElements at a given position on the HUD.
- requirements:
- design: very fancy
- show health, shield, armor, energy, powerup status. → there has to be a discussion about this topic (what will be an attribute of the orxonox-player)
- a console that can be plugged in or out
- a display to monitor the energy/powerup status or whatever is been used in orxonox to level up the player.
- BONUS: each HUD should have two modes: minimal and normal - to show all informations or just a few
- a interface to add/remove HUD-modules on the screen via simple functions (like add(Vector location, HUDElement component))
- implementation:
- HUD is a class, there can be one or more derivates, that will all have their own design
- bind(WorldEntity entity) function to bind the HUD to, from then on, it will monitor the status of this entity
- update() function, this will trigger the HUD to refresh all attributes (health, shields…)
- draw() function, draws the HUD in front of everything
- setVisible(bool bVisible) sets the HUD visible or invisible
- setHUDMode(enum modus) selects the visibility-mode (minimal/optimal) (BONUS)
- addComponent(HUDElement* el) adds a HUDElement to the screen at a given position
- removeComponent(HUDElement* el) removes a HUDElement from the screen
- hideComponent(HUDElement* el) this hides the element
- showElement(HUDElement* el) this shows the element again
- Webressources:
- look at the HUD of Chromium
- a thread in a forum on resourcecode.de
Change History (5)
comment:1 Changed 20 years ago by patrick
- Milestone changed from feature-taks to 0.3.0-pre-alpha
comment:2 Changed 20 years ago by patrick
- Milestone changed from 0.3.0-pre-alpha to 0.3.1-pre-alpha
comment:3 Changed 19 years ago by patrick
- Milestone changed from 0.3.9 to 0.3.6_graphics_and_performance
comment:4 Changed 18 years ago by bensch
- Milestone changed from Graphics and Performance to GUI and Installers
comment:5 Changed 17 years ago by bknecht
- Milestone changed from GUI and Installers to Old Orxonox tickets
Milestone GUI and Installers deleted