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.
Documentación de los datos miembro
La documentación para esta clase fue generada a partir de los siguientes ficheros:
- /home/david/programacion/iberogre-siontower/siontower/siontower-collisions-v0.2/include/gameObject.h
- /home/david/programacion/iberogre-siontower/siontower/siontower-collisions-v0.2/src/gameObject.cpp