Partage
  • Partager sur Facebook
  • Partager sur Twitter

irrlicht clone mesh

Sujet résolu
    6 octobre 2007 à 21:57:51

    bonjour j'ai une question est ce que l'on peut cloner un mesh (gere boule d'enegie, balle)
    pour pouvoir tirer plusieux fois ?
    • Partager sur Facebook
    • Partager sur Twitter
      6 octobre 2007 à 23:40:41

      Deux solution pour moi :

      - Tu utilise ISceneNode::clone() qui renvoie une copie du node que tu stocke dans un autre node et tu gère les deux diffèremment.
      - Tu utilise un seul node, tu le dessine avec ISceneNode::render(), tu le deplace plus loin avec ISceneNode::setPosition(), tu le redessine avec ISceneNode::render(), puis tu le replace a la position initial.

      La deuxième solution nécessite de garder en mémoire le vecteur de déplacement si tu veut pouvoir replacer le node a sa position de départ (indispensable pour deux projectiles).
      Pour la première cela demande de devoir gérer plus instances de ISceneNode ce qui peut devenir lourd et peut imposer la gestion de plusieurs instances dans un conteneur par exemple.

      En bref les deux solutions ont leurs avantages/défauts, c'est à toi de faire le choix suivant la situation ;)
      • Partager sur Facebook
      • Partager sur Twitter
        6 octobre 2007 à 23:47:04

        merci pour tes renseignements


        tu pourrais me faire une exemple d'utilisation de rander() car j'ai pas trop compris

        la dexieme methode j'y avait pencé mais le probleme c'est que l'utilisation est pour une mitraillette donc je sait pas si sa va le faire.


        et encore merci
        • Partager sur Facebook
        • Partager sur Twitter
          7 octobre 2007 à 0:01:40

          Ba c'est pas compliquer.
          Pour dessiner la scene tu fait scene->drawAll(), ok ?
          En fait sa dessine toute la scene.
          Alors que si tu fait node->render() seul le node serat dessiner dans le scenegraph.
          Sa te permet de pouvoir dessiner ton node a deux position différente sans devoir redessiner toute la scene et sa évite aussi surtout de pas avoir le node afficher en alternance sur une position puis l'autre.

          Pour l'utiliser tu fait comme ça :

          1. driver->beginScene(true, true, SColor(0,0,0,0));
          2. node->render();
          3. node->setPosition(positionAutreProjectile);
          4. node->render();
          5. scenegraph->drawAll();
          6. driver->endScene();
          • Partager sur Facebook
          • Partager sur Twitter

          irrlicht clone mesh

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown