Voila j'ai du mal a m'imaginer comment ramasser les munitions dans mon FPS, j'ai crée une caisse de munition et je voudrais que lorsque je passe dessus il se passe que çà recharge les munitions de mon flingue et que la caisse disparaisse ainsi que ses effets.
Si quelqu'un à une idée merci d'avance !
Hors ligne
J'ai fait un truc comme ca, je ressorts le code et j'te l'envoie !
Hors ligne
while (device->run())
{
driver->beginScene(true,true,SColor(0,200,200,200));
sceneManager->drawAll ();
if( munition <= 10 && camera->getPosition().X > 0 && camera->getPosition().X < 10 )
{
munition = munition + 2;
FSOUND_PlaySound(FSOUND_FREE, remplirArme);
//Ncaisse->remove();
//Ncaisse->drop();
}
....
....
}
J'ai fait comme cela en testant la position de la caméra et celle des la caisse de munition en X et en Z çà fonctionne nikel mais le problème c'est que j'ai commenté le remove() car je ne peut pas éffacer la caisse une foi qu'elle à servit sinon çà plante dès que je repasse sur les coordonnées que j'ai mi dans le if(...)
Hors ligne
dacord merci de ton aide !!!
Hors ligne
Personne ne trouve mon erreur ? pourquoi le remove() fait-il beuger mon code ?
Hors ligne
ok personne ne peut m'aider visiblement...
Hors ligne
Moi j'ai mit un setPosition(10000.0f, 10000.0f, 10000.0f); pour ruser ^^
Hors ligne
mais le soucis c'est que le programme plante quand la caisse se supprime c pas normale çà
Hors ligne
Si psk ton pointeur devient NULL, et ton prog crash... Donc tu met avant de tester la position : if(caisse != 0) et puis tu met dans les accolades ton truc... 'Pis si ca marche pas, tu fait un set position Loin, très loin !
Hors ligne
ok merci bin j'ai fait comme toi même si cette solution me plait pas trop car c planker des mesh inutile et je pense qu'a forte dose la mémoire va avoir mal. t'en pense quoi ?
Hors ligne
On peut rendre la caisse invisible sinon :
Ncaisse->setVisible(false);
Hors ligne
Ouais mais si elle est invisible le gars pourra toujours la prendre... Et puis la memoire n'en prendra pas un coup, car tu ne fait que déplacer une caisse... Et puis comme ca pour la repop, bah tu refait un setPosition pour la remetre a son endroit initial... J'ai fait comme ca en tt cas !
Hors ligne
Avant je faisait exactement comme iLambda², depuis j'ai trouvé un truc pas mal, un animateur qui supprime ton nœud de scène au bout d'un temps définie
par exemple, pour supprimé un nœud de scène dans 1000 millisecondes:
et notre nœud Ncaisse a totalement disparue
Dernière modification par nabouill (28-03-2010 09:28:34)
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 56 invités en ligne Aucun membre connecté RSS Feed |