Clase que abstrae la parte visual (Entity/SceneNode) de la colisionable (Body) de un elemento de juego.
Más...
#include <gameObject.h>
Lista de todos los miembros.
Descripción detallada
Clase que abstrae la parte visual (Entity/SceneNode) de la colisionable (Body) de un elemento de juego.
- Autor:
- David Saltares Márquez
- Fecha:
- 3-02-2011
GameObject se encarga de encapsular la parte visual (Ogre::SceneNode y Ogre::Entity) con el componente colisionable (Body) de los elementos del juego. Proporciona un método virtual GameObject::update para actualizar los elementos en cada iteración del bucle de juego pero es importante asegurarse de mantener sincronizadas la parte colisionable con la visual.
A la hora de modificar posición, escala u orientación del elemento de juego podemos hacerlo utilizando los métodos dispuestos para ello. No obstante, es posible recuperar el puntero a Body o SceneNode para trabajar con ellos. En tal caso, es imprescindible llamar a GameObject::synchronizeSceneNode o GameObject::synchronizeBody respectivamente. Así se sincronizará la parte visual con la colisionable o viceversa (según lo que se haya modificado).
Documentación del constructor y destructor
GameObject::GameObject |
( |
Ogre::SceneManager * |
sceneManager | ) |
|
Constructor
- Parámetros:
-
sceneManager | gestor de escena que controla la parte visual del elemento. |
GameObject::GameObject |
( |
Ogre::SceneManager * |
sceneManager, |
|
|
const Ogre::String & |
entityName, |
|
|
const Ogre::String & |
entityFile, |
|
|
const Ogre::String & |
nodeName |
|
) |
| |
Constructor
- Parámetros:
-
sceneManager | gestor de escena que controla la parte visual del elemento. |
entityName | nombre de la entidad |
entityFile | fichero con el modelo tridimensional del elemento. |
nodeName | nombre del nodo de la entidad |
GameObject::GameObject |
( |
Ogre::SceneManager * |
sceneManager, |
|
|
Ogre::SceneNode * |
sceneNode, |
|
|
Ogre::Entity * |
entity |
|
) |
| |
Constructor
- Parámetros:
-
sceneManager | gestor de escena que controla la parte visual del elemento |
sceneNode | nodo de escena |
entity | entidad cargada, parte visual |
GameObject::~GameObject |
( |
| ) |
[virtual] |
Destructor
Si están inicializados desvincula la entidad del nodo, retira el nodo de la escena y destruye a ambos. Si el body es válido (no apunta a NULL), lo destruye y elimina sus shapes.
Documentación de las funciones miembro
Body * GameObject::getBody |
( |
| ) |
|
- Devuelve:
- cuerpo colisionable que compone el objeto
const Ogre::Quaternion & GameObject::getOrientation |
( |
| ) |
|
- Devuelve:
- orientación del elemento de juego
const Ogre::Vector3 & GameObject::getPosition |
( |
| ) |
|
- Devuelve:
- posición del elemento de juego
const Ogre::Vector3 & GameObject::getScale |
( |
| ) |
|
- Devuelve:
- escala del elemento de juego
Ogre::SceneNode * GameObject::getSceneNode |
( |
| ) |
|
- Devuelve:
- nodo perteneciente al grafo de escena que compone el objeto.
void GameObject::setBody |
( |
Body * |
body | ) |
|
- Parámetros:
-
body | nuevo cuerpo colisionable que compondrá al objeto. |
Si el cuerpo anterior era válido es destruido junto a la shapes que lo componían. Es importantes ser conscientes de que cuando se destruya el GameObject, el nuevo cuerpo y sus shapes serán destruidas.
void GameObject::setOrientation |
( |
const Ogre::Quaternion & |
orientation | ) |
|
- Parámetros:
-
orientation | nueva orientación del elemento de juego |
void GameObject::setPosition |
( |
const Ogre::Vector3 & |
position | ) |
|
- Parámetros:
-
position | nueva posición del elemento de juego |
void GameObject::setScale |
( |
const Ogre::Vector3 & |
scale | ) |
|
- Parámetros:
-
scale | nueva escala del elemento de juego |
void GameObject::synchronizeBody |
( |
| ) |
|
Sincroniza el estado colisionable (Body) con el visual (SceneNode). Es imprescindible llamarlo tras haber actualizado el elemento de juego modificando sus parámetros visuales.
void GameObject::synchronizeSceneNode |
( |
| ) |
|
Sincroniza el estado visual (SceneNode) con el colisionable (Body). Es imprescindible llamarlo tras haber actualizado el elemento de juego modificando parámetros del body.
void GameObject::update |
( |
Ogre::Real |
deltaT | ) |
[virtual] |
- Parámetros:
-
deltaT | incremento de tiempo en milisegundos desde la última actualización. |
Por degecto no hace nada, está pensado para ser sobrecargado por clases especializadas.
Reimplementado en Player.
La documentación para esta clase fue generada a partir de los siguientes ficheros:
- /home/david/programacion/iberogre-siontower/siontower/trunk/src/include/gameObject.h
- /home/david/programacion/iberogre-siontower/siontower/trunk/src/src/gameObject.cpp