Changeset 9
- Timestamp:
- 01/11/09 23:58:41 (3 years ago)
- Location:
- trunk/src
- Files:
-
- 2 modified
-
LevelEditor.cc (modified) (13 diffs)
-
LevelEditor.hh (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/LevelEditor.cc
r8 r9 28 28 { 29 29 setAttribute(Qt::WA_PaintOnScreen, true); 30 30 31 31 mRenderWindow = 0; 32 32 mSceneMgr = 0; 33 mCamera = 0; 34 //mCamNode = 0; 33 35 mVp = 0; 34 36 … … 37 39 mouseMiddleBtn = false; 38 40 39 m Direction = Ogre::Vector3::ZERO;41 mTranslateVector = mDirection = Ogre::Vector3::ZERO; 40 42 41 43 mousePos = QPoint(0, 0); 42 44 mousePressPos = QPoint(0, 0); 45 43 46 angleX = 0.0; // Added these because the display started spinning 44 47 angleY = 0.0; // when I upgraded to Qt4.2, they were left undefined. 48 mMoveScale = 10.0f; // 45 49 46 50 mName = ""; 47 51 mFile = ""; 48 52 mType = ""; 53 49 54 closestObject = 0;// Trace the curent selected object. 50 55 mTempEnt = 0; … … 80 85 81 86 LevelEdWidget::~LevelEdWidget() 82 { 83 /* 84 if(mRoot != 0){ 85 delete mRoot; 86 mRoot = 0; 87 } 88 */ 89 /*if(mTempEnt || mTempObject) 90 { 91 mSceneMgr->destroyEntity (mTempEnt); 92 mSceneMgr->destroySceneNode(mTempObject->getName()); 93 mAnimState = 0; 94 mTempEnt = 0; 95 mTempObject = 0; 96 }*/ 97 87 { 98 88 // Destroy all object loaded in game 99 89 CObjectManager::getInstance()->cleanAll(); … … 308 298 309 299 mCamera = mSceneMgr->createCamera("PlayerCam 1"); 310 311 300 mCamera->setPosition(Ogre::Vector3(17519,913,16033)); 312 mCamera->lookAt(Ogre::Vector3(16073,0,16600)); 301 mCamera->lookAt(Ogre::Vector3(16073,0,16600)); 313 302 mCamera->setAutoAspectRatio(true); 314 303 mCamera->setNearClipDistance(1); 315 304 /* 305 mCamNode = mSceneMgr->getRootSceneNode()->createChildSceneNode( "Camera node"); 306 mCamNode->setPosition(Ogre::Vector3(17519,913,16033)); 307 mCamNode->lookAt(Ogre::Vector3(16073,0,16600), Ogre::Node::TS_LOCAL);*/ 308 309 316 310 mVp = mRenderWindow->addViewport(mCamera); 317 311 mVp->setBackgroundColour(Ogre::ColourValue(0.93, 0.86, 0.76)); … … 413 407 414 408 //------------------------------------------------------------------------------------------------ 415 // UPDATE409 ///////////////////////////// UPDATE ///////////////////////////////////// 416 410 //------------------------------------------------------------------------------------------------ 417 411 void LevelEdWidget::update() … … 421 415 mRoot->_fireFrameStarted(); 422 416 mRenderWindow->update(); 423 424 mCamera->moveRelative(m Direction);417 418 mCamera->moveRelative(mTranslateVector);//, Ogre::Node::TS_LOCAL); 425 419 mCamera->yaw(Ogre::Radian(angleX)); 426 420 mCamera->pitch(Ogre::Radian(angleY)); 427 421 428 422 //updateStats(); 429 423 // Update all object in Game … … 456 450 Q_UNUSED(evt); 457 451 452 //mMoveScale = 2 * evt->timerId(); 453 458 454 this->update(); 459 455 //updateAnim(); … … 477 473 void LevelEdWidget::keyPressEvent(QKeyEvent* evt) 478 474 { 479 475 /////// YGRAE 476 if(evt->key() == Qt::Key_Shift) 477 { 478 keyShiftPressed = true; 479 } 480 481 if(evt->key() == Qt::Key_Control) 482 { 483 keyCtrlPressed = true; 484 } 485 /////////// 486 487 if(evt->key() == Qt::Key_Up) 488 { 489 mTranslateVector.z -= mMoveScale; 490 } 491 if(evt->key() == Qt::Key_Down) 492 { 493 mTranslateVector.z += mMoveScale; 494 } 495 if(evt->key() == Qt::Key_Left) 496 { 497 mTranslateVector.x -= mMoveScale; 498 } 499 if(evt->key() == Qt::Key_Right) 500 { 501 mTranslateVector.x += mMoveScale; 502 } 503 if(evt->key() == Qt::Key_PageUp) 504 { 505 mTranslateVector.y += mMoveScale; 506 } 507 if(evt->key() == Qt::Key_PageDown) 508 { 509 mTranslateVector.y -= mMoveScale; 510 } 480 511 } 481 512 … … 483 514 void LevelEdWidget::keyReleaseEvent(QKeyEvent* evt) 484 515 { 516 if(evt->key() == Qt::Key_Up) 517 { 518 mTranslateVector.z += mMoveScale; 519 } 520 if(evt->key() == Qt::Key_Down) 521 { 522 mTranslateVector.z -= mMoveScale; 523 } 524 if(evt->key() == Qt::Key_Left) 525 { 526 mTranslateVector.x += mMoveScale; 527 } 528 if(evt->key() == Qt::Key_Right) 529 { 530 mTranslateVector.x -= mMoveScale; 531 } 532 if(evt->key() == Qt::Key_PageUp) 533 { 534 mTranslateVector.y -= mMoveScale; 535 } 536 if(evt->key() == Qt::Key_PageDown) 537 { 538 mTranslateVector.y += mMoveScale; 539 } 540 541 //// YGRAE 542 if(evt->key() == Qt::Key_Shift) 543 { 544 keyShiftPressed = false; 545 } 546 if(evt->key() == Qt::Key_Control) 547 { 548 keyCtrlPressed = false; 549 } 550 /////////// 551 485 552 if(evt->key() == Qt::Key_Escape) 486 553 { … … 689 756 if(mouseLeftPressed && mInsertMode) 690 757 { 691 692 } 693 694 mouseLeftPressed = false; 695 mouseRightPressed = false; 696 mouseMiddleBtn = false; 758 // TODO : next time insert one object here and handle multiple insertion 759 } 760 761 //mouseLeftPressed = false; 762 //mouseRightPressed = false; 763 //mouseMiddleBtn = false; 764 765 ////////////// YGRAE 766 if(evt->button() == Qt::RightButton) 767 { 768 mouseRightPressed = false; 769 } 770 else if(evt->button() == Qt::LeftButton) 771 { 772 mouseLeftPressed = false; 773 } 774 else if(evt->button() == Qt::MidButton) 775 { 776 mouseMiddleBtn = false; 777 } 778 /////////////// 697 779 } 698 780 … … 704 786 705 787 } 706 707 788 708 789 if(mouseRightPressed) … … 729 810 angleY = 0.00; 730 811 } 731 812 732 813 if(mEditionMode) 733 814 { … … 748 829 void LevelEdWidget::wheelEvent(QWheelEvent* evt) 749 830 { 750 mDirection.z = -evt->delta();///2; 751 update(); 752 mDirection.z = 0; 753 } 831 mTranslateVector.z = -evt->delta();///2; 832 this->update(); 833 mTranslateVector.z = 0; 834 835 } -
trunk/src/LevelEditor.hh
r8 r9 89 89 Ogre::SceneManager* mSceneMgr; 90 90 Ogre::Camera* mCamera; 91 //Ogre::SceneNode* mCamNode; 91 92 Ogre::Viewport* mVp; 92 93 Ogre::Root* mRoot; 93 94 94 95 ///// Deplacement Camera 95 Ogre::Vector3 mDirection ;96 Ogre::Vector3 mDirection, mTranslateVector; 96 97 QPoint mousePressPos; 97 98 QPoint mousePos; 98 99 float angleX, angleY; 99 float moveScale; 100 float mMoveScale; 101 100 102 /////////////////////// 101 103 std::string mName; … … 106 108 bool mouseRightPressed; 107 109 bool mouseMiddleBtn; 110 bool keyCtrlPressed; 111 bool keyShiftPressed; 108 112 109 113 // Action mode
