26-04-2008 17:57:12
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.196.119.141
- Courriel
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 */
}
}Hors ligne
26-04-2008 21:32:55
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 90.38.100.79
- Courriel Site web
Hello,
Je ne vois aucune parcelle de code présentée ci dessus qui fasse référence à des collisions...?
Un conseil, oubli les collisions Irrlicht et utilise un moteur de physique tel que Ode ou Newton pour ça, c'est plus pénible à implémenter, mais plus solide et plus rapide au final.
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne
26-04-2008 23:25:12
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.196.119.141
- Courriel
ok mais je prefere utiliser les fonction de base irrlicht es possible avec le format irr au il vo mieux cree mes map en 3ds??
Hors ligne
27-04-2008 00:21:57
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 90.38.100.79
- Courriel Site web
irr n'est qu'un format xml contenant les informations des meshs .3ds,.x,b3d etc à charger....
Oui il est tout à fait possible d'utiliser le système d'irrlicht donc, mais comme dit précédement je le déconseille après tu fais comme tu veux
.
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne
27-04-2008 09:07:23
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.196.119.141
- Courriel
ok ta pas une idee du code a ajouter??
Hors ligne
08-03-2009 10:34:14
- franbon2005
- Membres
- Date d'inscription:
- Messages: 11
- IP: 82.238.197.75
- Courriel
un an apres est ce que quelqu un a une idee du code a ajouter ?
Hors ligne
08-03-2009 11:23:03
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.207.108.89
- Courriel
oui look j'ai ecrit un mini tuto http://forum.irrlicht.fr/viewtopic.php?id=786
Hors ligne
09-03-2009 10:02:58
- franbon2005
- Membres
- Date d'inscription:
- Messages: 11
- IP: 82.238.197.75
- Courriel
merci mais cette partie de code ne correspond qu a une version de camera fps pour une camera style rpg la collision n est pas valable
tu ne geres que les collisions avec la camera
si ton bonhomme est devant il passe quand meme a travers les murs mais pas ta camera
j en suis la de mon code ( grande cave preparee avec deled reprise avec irredit(irr) plus bonhmme en md2)
mais les collisions....???
je cherche
Hors ligne
09-03-2009 12:09:57
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.207.108.89
- Courriel
c simple tu remplace ta camera pae ton node
Hors ligne
09-03-2009 12:38:28
- franbon2005
- Membres
- Date d'inscription:
- Messages: 11
- IP: 82.238.197.75
- Courriel
j avais deja remplace la camera et maintenant les deux passent a travers !!
je ne crois pas que cela soit plus efficace
Hors ligne
09-03-2009 16:25:34
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.207.108.89
- Courriel
pff ecoute moi je l'avais deja fait et sa marche niikel
Hors ligne
09-03-2009 16:44:10
- franbon2005
- Membres
- Date d'inscription:
- Messages: 11
- IP: 82.238.197.75
- Courriel
pour bien se comprendre : je remplace ma camera par quoi??
explicite un peu je ne te comprends pas
Hors ligne
09-03-2009 16:46:44
- hardcpp
- Membres

- Date d'inscription:
- Messages: 229
- IP: 86.207.108.89
- Courriel
remplace le pointeur de la camera par celui de ton node
Hors ligne
09-03-2009 17:43:49
- franbon2005
- Membres
- Date d'inscription:
- Messages: 11
- IP: 82.238.197.75
- Courriel
pour le moment tout ce que j arrive a faire c est de rester bloquer dans mon tunnel
Hors ligne
09-03-2009 18:14:51
- franbon2005
- Membres
- Date d'inscription:
- Messages: 11
- IP: 82.238.197.75
- Courriel
pour hardcpp:
merci pour la solution mais les collisions sont collantes je ne peux presque plus bouger mon bonhomme
Hors ligne
23-07-2011 11:30:53
- Superjaco
- Membres
- Date d'inscription:
- Messages: 20
- IP: 90.30.148.157
- Courriel
Dans l'exemple d'irrlicht ou il montre comment loader un .irr il y a aussi le code pour les collisions.
Hors ligne



