#1 

26-04-2008 17:57:12

hardcpp
Membres
Avatar de hardcpp
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


#2 

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


#3 

26-04-2008 23:25:12

hardcpp
Membres
Avatar de hardcpp
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


#4 

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 smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#5 

27-04-2008 09:07:23

hardcpp
Membres
Avatar de hardcpp
Date d'inscription:
Messages: 229
IP: 86.196.119.141
Courriel

ok ta pas une idee du code a ajouter??


Hors ligne


#6 

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


#7 

08-03-2009 11:23:03

hardcpp
Membres
Avatar de hardcpp
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


#8 

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


#9 

09-03-2009 12:09:57

hardcpp
Membres
Avatar de hardcpp
Date d'inscription:
Messages: 229
IP: 86.207.108.89
Courriel

c simple tu remplace ta camera pae ton node


Hors ligne


#10 

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


#11 

09-03-2009 16:25:34

hardcpp
Membres
Avatar de hardcpp
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


#12 

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


#13 

09-03-2009 16:46:44

hardcpp
Membres
Avatar de hardcpp
Date d'inscription:
Messages: 229
IP: 86.207.108.89
Courriel

remplace le pointeur de la camera par celui de ton node


Hors ligne


#14 

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


#15 

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


#16 

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


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
139 invités en ligne
membre en ligne: -
RSS Feed