Historique des modifications - Message

Message #10960

Sujet: Gravité ? Sans Newton ?


Type Date Auteur Contenu
Dernière modification 27-11-2012 16:52:02 Logeur
Bonsoir,


Je viens de refaire mon code pour pouvoir utiliser ma map.
Et là tout bug. La gravité et le saut ont disparus ...
Alors que j'utilise le même code ...
Je désespère petit à petit ;(


#include <irrlicht.h>
#include <iostream>

using namespace std;
using namespace irr;

int main()
{
    IrrlichtDevice *device = createDevice(video::EDT_OPENGL, core::dimension2d<u32>(1000,800), 32);
    video::IVideoDriver *driver = device -> getVideoDriver();
    scene::ISceneManager *sceneManager = device -> getSceneManager();
    device->setWindowCaption(L"Fast Jump [INDEV]");
    device->getCursorControl()->setVisible(false);


    scene::IAnimatedMesh *map = sceneManager -> getMesh("mapFJ.obj");
    scene::IMeshSceneNode *scene = sceneManager -> addMeshSceneNode(map -> getMesh(0));
    scene -> setMaterialFlag(video::EMF_LIGHTING,false);
    scene -> setMaterialTexture(0, driver -> getTexture("terrain-texture.jpg"));
    sceneManager -> getMeshManipulator() -> makePlanarTextureMapping(map -> getMesh(0), 0.4f);

    scene::ITriangleSelector *selector = 0;
    if (scene)
    {
        selector = sceneManager->createOctTreeTriangleSelector(map->getMesh(0), scene);
        scene->setTriangleSelector(selector);
        selector->drop();
    }

    SKeyMap keyMap[5];
            keyMap[0].Action = irr::EKA_MOVE_FORWARD;
            keyMap[0].KeyCode = irr::KEY_KEY_Z;
            keyMap[1].Action = irr::EKA_MOVE_BACKWARD;
            keyMap[1].KeyCode = irr::KEY_KEY_S;
            keyMap[2].Action = irr::EKA_STRAFE_LEFT;
            keyMap[2].KeyCode = irr::KEY_KEY_Q;
            keyMap[3].Action = irr::EKA_STRAFE_RIGHT;
            keyMap[3].KeyCode = irr::KEY_KEY_D;
            keyMap[4].Action = EKA_JUMP_UP;
            keyMap[4].KeyCode = KEY_SPACE;

    scene::ICameraSceneNode* camera = sceneManager-> addCameraSceneNodeFPS(0,100.0f,0.025f, -1, keyMap, 5, true, 10.5f);
    camera->setPosition(core::vector3df(0,100,0));
    camera->setTarget(core::vector3df(0,0,0));
    camera->setFarValue(42000.0f);


    scene::ISceneNodeAnimator *anim = sceneManager->createCollisionResponseAnimator(selector, camera, core::vector3df(60,100,60), core::vector3df(0,-100,0), core::vector3df(0,50,0));
    camera->addAnimator(anim);
    anim->drop();


    while(device -> run())
    {
        driver -> beginScene(true, true, video::SColor(255,90,146,177));
        sceneManager -> drawAll();
        driver->endScene();
    }
    device -> drop();
    return 0;
}
Création du message 27-11-2012 16:49:09 Logeur
Bonsoir,


Je viens de refaire mon code pour pouvoir utiliser ma map.
Et là tout bug. La gravité et le saut ont disparus ...
Alors que j'utilise le même code ...
Je désespère petit à petit ;(


#include <irrlicht.h>
#include <iostream>

using namespace std;
using namespace irr;

int main()
{
    IrrlichtDevice *device = createDevice(video::EDT_OPENGL, core::dimension2d<u32>(1000,800), 32);
    video::IVideoDriver *driver = device -> getVideoDriver();
    scene::ISceneManager *sceneManager = device -> getSceneManager();
    device->setWindowCaption(L"Fast Jump [INDEV]");
    device->getCursorControl()->setVisible(false);


    scene::IAnimatedMesh *map = sceneManager -> getMesh("mapFJ.obj");
    scene::IMeshSceneNode *scene = sceneManager -> addMeshSceneNode(map -> getMesh(0));
    scene -> setMaterialFlag(video::EMF_LIGHTING,false);
    scene -> setMaterialTexture(0, driver -> getTexture("terrain-texture.jpg"));
    sceneManager -> getMeshManipulator() -> makePlanarTextureMapping(map -> getMesh(0), 0.4f);

    scene::ITriangleSelector *selector = 0;
    if (scene)
    {
        selector = sceneManager->createOctTreeTriangleSelector(map->getMesh(0), scene);
        scene->setTriangleSelector(selector);
        selector->drop();
    }

    SKeyMap keyMap[5];
            keyMap[0].Action = irr::EKA_MOVE_FORWARD;
            keyMap[0].KeyCode = irr::KEY_KEY_Z;
            keyMap[1].Action = irr::EKA_MOVE_BACKWARD;
            keyMap[1].KeyCode = irr::KEY_KEY_S;
            keyMap[2].Action = irr::EKA_STRAFE_LEFT;
            keyMap[2].KeyCode = irr::KEY_KEY_Q;
            keyMap[3].Action = irr::EKA_STRAFE_RIGHT;
            keyMap[3].KeyCode = irr::KEY_KEY_D;
            keyMap[4].Action = EKA_JUMP_UP;
            keyMap[4].KeyCode = KEY_SPACE;

    scene::ICameraSceneNode* camera = sceneManager-> addCameraSceneNodeFPS(0,100.0f,0.025f, -1, keyMap, 5, true, 10.5f);
    camera->setPosition(core::vector3df(0,100,0));
    camera->setTarget(core::vector3df(0,0,0));
    camera->setFarValue(42000.0f);


    scene::ISceneNodeAnimator *anim = sceneManager->createCollisionResponseAnimator(selector, camera, core::vector3df(60,100,60), core::vector3df(0,-100,0), core::vector3df(0,50,0));
    camera->addAnimator(anim);
    anim->drop();


    while(device -> run())
    {
        driver -> beginScene(true, true, video::SColor(255,90,146,177));
        sceneManager -> drawAll();
        driver->endScene();
    }
    device -> drop();
    return 0;
}

Retour

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
113 invités en ligne
membre en ligne: -
RSS Feed