Index: /orxonox/branches/textEngine/src/Makefile.am
===================================================================
--- /orxonox/branches/textEngine/src/Makefile.am	(revision 3780)
+++ /orxonox/branches/textEngine/src/Makefile.am	(revision 3781)
@@ -80,4 +80,5 @@
 		 track_manager.h \
 		 track_node.h \
+		 animation.h \
 		 simple_animation.h \
 		 garbage_collector.h \
Index: /orxonox/branches/textEngine/src/Makefile.in
===================================================================
--- /orxonox/branches/textEngine/src/Makefile.in	(revision 3780)
+++ /orxonox/branches/textEngine/src/Makefile.in	(revision 3781)
@@ -288,4 +288,5 @@
 		 track_manager.h \
 		 track_node.h \
+		 animation.h \
 		 simple_animation.h \
 		 garbage_collector.h \
Index: /orxonox/branches/textEngine/src/animation.h
===================================================================
--- /orxonox/branches/textEngine/src/animation.h	(revision 3781)
+++ /orxonox/branches/textEngine/src/animation.h	(revision 3781)
@@ -0,0 +1,96 @@
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+
+/*! 
+    \file animation.h
+    A Set of functions to animate some floats inside of an Object
+*/
+
+#ifndef _ANIMATION_H
+#define _ANIMATION_H
+
+#include "base_object.h"
+
+enum ANIM_FUNCTION {ANIM_LINEAR };
+
+//! A Class to handle some animation for single floated values.
+template<class T> class Animation : public BaseObject 
+{
+ public:
+  Animation();
+  virtual ~Animation();
+
+  void setFuncToAnim(T* object, void (T::*animFunc)(float));
+  void setAnimFunc();
+  void setValue(float value);
+
+  void tick(float time);
+
+ private:
+  void (T::*animFunc)(float);
+  
+  float value;
+  T* object;
+};
+
+
+
+/**
+   \brief standard constructor
+
+*/
+template<class T>
+Animation<T>::Animation () 
+{
+   this->setClassName ("Animation");
+   this->value = 0.0;
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+template<class T>
+Animation<T>::~Animation () 
+{
+  // delete what has to be deleted here
+}
+
+
+template<class T>
+void Animation<T>::setFuncToAnim(T* object, void (T::*animFunc)(float))
+{
+  this->object = object;
+  this->animFunc = animFunc;
+}
+
+template<class T>
+void Animation<T>::setValue(float value)
+{
+  this->value = value;
+  (object->*(animFunc))(value);
+}
+
+template<class T>
+void Animation<T>::tick(float time)
+{
+  setValue(value+time/1000);
+  if (value >1)
+    setValue (0);
+}
+
+#endif /* _ANIMATION_H */
Index: /orxonox/branches/textEngine/src/story_entities/world.cc
===================================================================
--- /orxonox/branches/textEngine/src/story_entities/world.cc	(revision 3780)
+++ /orxonox/branches/textEngine/src/story_entities/world.cc	(revision 3781)
@@ -40,4 +40,6 @@
 #include "glmenu_imagescreen.h"
 #include "list.h"
+
+#include "animation.h"
 
 using namespace std;
@@ -354,7 +356,11 @@
 	    this->testText = TextEngine::getInstance()->createText("fonts/earth.ttf", 30, TEXT_DYNAMIC, 0, 255, 0);
 	    testText->setText("TEXT  rocks");
-	    testText->setBlending(.5);
+	    testText->setBlending(1.0);
 	    testText->setBindNode(tn);
 
+	    
+	    tmpAnim = new Animation<Text>();
+
+	    tmpAnim->setFuncToAnim(testText, &Text::setBlending);
 	    break;
 	  }
@@ -780,4 +786,5 @@
       this->localCamera->tick(this->dt);
       this->garbageCollector->tick(seconds);
+      tmpAnim->tick(this->dt);
     }
   this->lastFrame = currentFrame;
Index: /orxonox/branches/textEngine/src/story_entities/world.h
===================================================================
--- /orxonox/branches/textEngine/src/story_entities/world.h	(revision 3780)
+++ /orxonox/branches/textEngine/src/story_entities/world.h	(revision 3781)
@@ -24,4 +24,5 @@
 class GarbageCollector;
 class Text;
+template<class T> class Animation;
 
 //! The game world Interface
@@ -95,4 +96,5 @@
   bool bPause;                  //!< pause mode
 
+  Animation<Text>* tmpAnim;
   Text* testText;               //!< A text to Test the TextEngine;
   GLMenuImageScreen* glmis;     //!< The Level-Loader Display
