Bonjour,
Voilà j'ai un problème un peu bizarre
je veux quand je clic sur un objet j'ajoute une petit sphere sur la surface de cette objet
j'ai fait ça
tout a marché bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CEGUI::Point mousePos = CEGUI::MouseCursor::getSingleton().getPosition(); Ogre::Ray mouseRay = mCamera->getCameraToViewportRay(mousePos.d_x/float(arg.state.width), mousePos.d_y/float(arg.state.height)); mRayScnQuery->setRay(mouseRay); // Execute query Ogre::RaySceneQueryResult &result =mRayScnQuery->execute(); Ogre::RaySceneQueryResult::iterator itr = result.begin( ); std::pair<bool, Ogre::Real> result1 = mouseRay.intersects(CNode->getAttachedObject (0) ->getBoundingBox()); Ogre:: Vector3 point = mouseRay.getPoint(result1.second); // Get results, create a node/entity on the position if (itr != result.end() && itr->movable && result1.first) { -j'ajoute une entité MNode->setPosition(point);
mais quands j'ai fait ça
et aprés j'ai ajouter les code qui fait l'ajout
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cPosition =Ogre:: Vector3(0.0f,0.0f,0.0f); CNode->setPosition(cPosition); CNode->translate( Ogre::Vector3(10.0f,10.0f,10.0f ) );
quand je clic maintenant soit il n'ajoute pas soit il ajoute mais dans une autre position autre que où je clic
par exemple
si je clic içi
tu peux voir où il ajoute la balle n'est pas à la même position
Partager