#include <irrlicht.h>
//los namespace para definir funciones de irrlicht
using namespace irr;
using namespace core;
using namespace video;
#if defined(_MSC_VER)
#pragma comment(lib, "Irrlicht.lib")
#endif
int main()
{
//define un device para la pantalla
IrrlichtDevice *device = createDevice(EDT_OPENGL, dimension2d<u32>(640, 480), 16, false,
false, false, 0);
if (!device)
return 1;
IVideoDriver *driver = device->getVideoDriver();
//creo variables para mis colores
f32 r = 255.0f;
f32 g = 255.0f;
f32 b = 255.0f;
bool fadeOut = true;
int lastFPS = -1;
u32 then = device->getTimer()->getTime();
const f32 fadeRate = 0.1f;
//Gameloop
while (device->run())
{
//manejo los tiempos
const u32 now = device->getTimer()->getTime();
const f32 frameDeltaTime = (f32)(now - then);
then = now;
if (r <= 0.0f)
fadeOut = false;
else if (r >= 255.0f)
fadeOut = true;
//Crea el efecto fadeout y fadein
if (fadeOut)
{
r -= fadeRate * frameDeltaTime;
g -= fadeRate * frameDeltaTime;
b -= fadeRate * frameDeltaTime;
}
else
{
r += fadeRate * frameDeltaTime;
g += fadeRate * frameDeltaTime;
b += fadeRate * frameDeltaTime;
}
driver->beginScene(true, true, SColor(255, (u32)r, (u32)g, (u32)b));
driver->endScene();
}
//cerrar device
device->drop();
return 0;
}
Herramientas Para el Desarrollo de Videojuegos y Lenguajes de Programación en Español
domingo, 29 de marzo de 2015
Efecto Fade in y Fade out a la pantalla en Irrlicht
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario