bonjour je crée un mmorpg qui utilise les map au format irr mais imposible de faire de colision pouvez vous m'aider svp
voici le code
#include "define.h"
#include <irr/irrlicht.h>
#include <iostream>
#include <FMOD/fmod.h>
using namespace irr;
#define TAILLE_MAX 100 /* definition de taille max pour 100 */
char chaine[TAILLE_MAX] = ""; /* definition d'une variable de caractere qui a pour taille taille _max soit 1000 */
void main_menu()
{
/* inisialisation */
IrrlichtDevice* device = createDevice(video::EDT_OPENGL, core::dimension2d<s32>(840, 680)); /* definition du driver opengl */
device->setWindowCaption(L"Game"); /* Titre de la fenetre */
video::IVideoDriver* driver = device->getVideoDriver(); /* parametre irrlicht */
scene::ISceneManager* smgr = device->getSceneManager(); /* parametre irrlicht */
/* chargement d'une map */
smgr->loadScene("data\\\\map\\\\map0.irr"); /* chargement de la map 0 */
/* parametre de la camera */
scene::ICameraSceneNode* camera = smgr->addCameraSceneNodeFPS(0,100.0f,1200.0f); /* definition du type de camera */
camera->setPosition(core::vector3df(0,1000,-500)); /* position de la camera
camera->setTarget(core::vector3df(2397*2,343*2,2700*2)); /* parametre de la camera */
camera->setFarValue(12000.0f); /* parametre de la camera */
driver->beginScene(true, true, video::SColor(0,200,200,200)); /* affichage de la scene */
smgr->drawAll(); /* affichage de la scene */
driver->endScene(); /* affichage de la scene */
FSOUND_STREAM *music1 = NULL; /* defiinition des canaux */
FSOUND_Init(44100, 32, 0); /* inisialise fmod */
lecture_fichier("data\\\\config\\\\Menu_sound.mpqtext"); /* lecture du fichier de configuration de la music du menu */
music1 = FSOUND_Stream_Open(chaine, 0, 0, 0); /* on charge la music dans le conteneur music1 */
FSOUND_Stream_SetLoopCount(music1, -1); /* le conteneur music1 et en repetition infinit */
FSOUND_Stream_Play(FSOUND_FREE, music1); /* joue le son contenue dans music1 */
while(device->run()) /* boucle tant l'application est active */
if (device->isWindowActive()) /* verification de l'activiter de l'application */
{
driver->beginScene(true, true, video::SColor(0,200,200,200)); /* definition du driver (opengl) */
smgr->drawAll(); /* on redecine la scene */
driver->endScene(); /* on termine la scene */
}
device->drop(); /* on libere la memoire */
}
void lecture_fichier(char non_fichier[80])
{
FILE* fichier = NULL; /* creation d'un pointeur */
fichier = fopen(non_fichier, "r"); /* charge le fichier indiquer dans le conteneur fichier */
if (fichier != NULL) /* si le fichier existe alors on l'ouvre */
{
fgets(chaine, TAILLE_MAX, fichier); /* on lit le contenue du fichier */
fclose(fichier); /* on ferme le fichier */
}
}