Cool, merci je vais tester ça
EDIT : Rhoo, ça marche toujours pas !!!
Toujours un bug ... a la même instruction.
ElementScene.h
#ifndef ELEMENTSCENE_H_INCLUDED
#define ELEMENTSCENE_H_INCLUDED
#include <iostream>
#include <IRR/irrlicht.h>
#include <FMOD/fmod.h>
#include <Newton/Newton.h>
#include "systemFonction.h"
#include "CEventReceiver.h"
#include "GameEngine.h"
class GameEngine;
class ElementScene
{
public :
irr::scene::IAnimatedMeshSceneNode* getNmodele() const;
void setPositionement(irr::core::vector3df position);
protected :
irr::scene::IAnimatedMeshSceneNode* m_Nmodele;
GameEngine* m_scene;
irr::video::IVideoDriver *m_driver;
irr::scene::ISceneManager *m_sceneManager;
irr::gui::IGUIEnvironment *m_gui;
irr::IrrlichtDevice* m_device;
irr::scene::IAnimatedMesh* m_modele;
};
#endif // ELEMENTSCENE_H_INCLUDED
ElementScene.cpp
#include "ElementScene.h"
irr::scene::IAnimatedMeshSceneNode* ElementScene::getNmodele() const
{
return m_Nmodele;
}
void ElementScene::setPositionement(irr::core::vector3df position)
{
m_Nmodele->setPosition(position);
}
Liquide.h
#ifndef LIQUIDE_H_INCLUDED
#define LIQUIDE_H_INCLUDED
#include <iostream>
#include <IRR/irrlicht.h>
#include <FMOD/fmod.h>
#include <Newton/Newton.h>
#include "systemFonction.h"
#include "CEventReceiver.h"
#include "GameEngine.h"
#include "ElementScene.h"
class GameEngine;
class Liquide : public ElementScene
{
public :
Liquide();
Liquide(GameEngine* scene, char* chemin_texture, irr::core::vector3df position, irr::core::vector3df rotation, long echelle, irr::f32 height, irr::f32 speed, irr::f32 lenght);
~Liquide();
private :
};
#endif // LIQUIDE_H_INCLUDED
Liquide.cpp
#include "Liquide.h"
Liquide::Liquide()
{}
Liquide::Liquide(GameEngine* scene, char* chemin_texture, irr::core::vector3df position, irr::core::vector3df rotation, long echelle, irr::f32 height, irr::f32 speed, irr::f32 lenght)
{
m_scene = scene;
m_device = scene->getDevice();
m_driver = m_device->getVideoDriver ();
m_sceneManager = m_device->getSceneManager();
m_modele = m_sceneManager->addHillPlaneMesh( "myHill",
irr::core::dimension2d<irr::f32>(20,20),
irr::core::dimension2d<irr::u32>(40,40), 0, 0,
irr::core::dimension2d<irr::f32>(0,0),
irr::core::dimension2d<irr::f32>(10,10));
m_Nmodele = (irr::scene::IAnimatedMeshSceneNode*)m_sceneManager->addWaterSurfaceSceneNode(m_modele->getMesh(0, height, speed, lenght));
irr::video::ITexture* textureWater = m_driver->getTexture(chemin_texture);
m_Nmodele->setPosition(position);
m_Nmodele->setRotation(rotation);
m_Nmodele->setScale(irr::core::vector3df(echelle,echelle,echelle));
m_Nmodele->setMaterialTexture(0, textureWater);
m_Nmodele->getMaterial(0).MaterialType = irr::video::EMT_TRANSPARENT_ALPHA_CHANNEL;
}
Liquide::~Liquide(){}