锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久九九亚洲精品,亚洲伊人久久综合中文成人网,久久99精品久久久久久不卡http://www.shnenglu.com/sunshinealike/archive/2009/10/28/99524.htmlSunshine AlikeSunshine AlikeWed, 28 Oct 2009 14:33:00 GMThttp://www.shnenglu.com/sunshinealike/archive/2009/10/28/99524.htmlhttp://www.shnenglu.com/sunshinealike/comments/99524.htmlhttp://www.shnenglu.com/sunshinealike/archive/2009/10/28/99524.html#Feedback0http://www.shnenglu.com/sunshinealike/comments/commentRss/99524.htmlhttp://www.shnenglu.com/sunshinealike/services/trackbacks/99524.html棣栧厛榪欐鍏堢敓鎴愪竴涓┖鐧界獥鍙o紝涓嶄嬌鐢⊿DK甯︾殑Example銆?br>鏂囦歡錛?br>MyApplication.h
MyListener.h
main.cpp

棣栧厛闇瑕佷簡瑙d竴涓婳gre紼嬪簭鐨勫熀鏈粨鏋勶紝鍦∣gre閲屼嬌鐢ㄤ竴涓彨鍦烘櫙綆$悊鍣紙SceneManager錛夌殑綾繪潵綆$悊鍦ㄥ睆騫曚笂鏄劇ず鐨勫悇縐嶇墿浣擄紝
榪欎釜綾繪槸涓娊璞$被錛坈lass Ogre::SceneManager abstract錛?鍙搗鍒板畾涔夋帴鍙g殑浣滅敤銆?br>涓嶅彲浠ョ洿鎺ュ疄渚嬪寲榪欎釜綾伙紝鍙兘鐢盧oot鑺傜偣璋冪敤createSceneManager鏂規(guī)硶鏉ョ敓鎴愮壒瀹氱被鍨嬬殑SceneManager
OGRE閲屾湁寰堝縐嶅満鏅鐞嗗櫒銆傛湁鐨勫満鏅鐞嗗櫒娓叉煋鍦伴潰錛屾湁鐨勫満鏅鐞嗗櫒娓叉煋BSP琛ㄧ瓑絳夈?

涓庡満鏅紙Scene錛夌浉鍏崇殑姒傚康錛氬疄浣擄紝鑺傜偣銆?br>瀹炰綋錛氱畝鍗曠殑璇村疄浣撳氨鐩稿綋浜庣┖闂翠腑鐨勪竴涓墿浣擄紝渚嬪娓告垙涓殑涓涓鑹層?br>鍦烘櫙鑺傜偣錛氳鎯沖湪鍦烘櫙涓嬌鐢ㄥ疄浣擄紝蹇呴』榪樿鐢ㄥ埌鑺傜偣錛圫ceneNode錛夛紝瀹冧細(xì)涓庡疄浣撶粦瀹氬湪涓璧鳳紝褰撴帶鍒惰繖涓妭鐐硅繘琛屽悇縐嶄綅縐繪棆杞搷浣滄椂
鍏跺搴旂殑瀹炰綋涔熷氨璺熺潃鐩稿簲鐨勮繘琛屾搷浣溿?br>##娉細(xì)
鏍規(guī)嵁浠ュ墠鐜╂父鎴忕殑緇忛獙錛屽湪娓告垙錛堟瘮濡傞琛屽皠鍑伙級涓垽鏂竴涓墿浣撴槸鍚﹁鎵撲腑涔熼兘鏄互鍦嗙偣涓轟腑蹇冪殑涓涓尯鍩熻岄潪鐗╀綋錛堥鏈猴級鏈韓
澶栧3鐨勫艦鐘跺彲鑳戒篃鏄敱浜庤繖涓師鍥犮?br>##

鎺ヤ笅鏉ュ啀鏉ヤ簡瑙d竴涓嬩竴涓噸瑕佺殑鍑芥暟void MyApplication::go()
榪欐槸涓涓叆鍙e嚱鏁幫紝榪欎竴嬈″湪鎴戠殑main鏂規(guī)硶閲屽氨鍙湁涓よ浠g爜錛?br>       MyApplication app;
       app.go();
鐜板湪鏉ョ湅鐪媑o閲屾湁鍋氫簡浜涗粈涔堜簨鎯呫?br>   void go()
   {
       //step 1 to 3 should be in this order
       CreateRoot();
       SetupRenderSystem();
       CreateRenderWindow();

       SetupInputSystem();
       CreateFrameListener();
       StartRenderLoop();
   }
鍓嶉潰鐨勪笁姝ラ渶瑕佹寜鐗瑰畾鐨勯『搴忔潵榪涜錛屽悗闈㈢殑鍒欎笉涓瀹氥傚悇涓嚱鏁扮殑鍔熻兘鐢卞嚱鏁板悕鑷鏄庝簡錛屽唴瀹逛篃寰堢畝鍗曘?br>璋冪敤go鍚庯紝棣栧厛闇瑕佸垱寤烘牴鑺傜偣m_pRoot = new Root()榪欐槸鏁翠釜寮曟搸涓渶鏍稿績鐨勪竴涓璞★紝鍦ㄥ仛鍏跺畠浜嬫儏鍓嶅繀欏昏棣栧厛鍒涘緩瀹冦?br>鎺ヤ笅鏉ヨ緗覆鏌撶郴緇烻etupRenderSystem() :
       if(!m_pRoot->showConfigDialog())
           exit(0);
Ogre鏈変釜榛樿鐨勮緗璇濇錛岀洿鎺ヨ皟鐢ㄥ畠?yōu)鍙互浜嗗Q屽鏋滅敤鎴峰彇娑堣繖涓姝ワ紝閭d箞鐩存帴閫鍑虹▼搴忓氨濂姐?br>
鍒涘緩紿楀彛榪欎竴姝ワ紝鍙互鏈夊縐嶉夋嫨錛屽洜涓洪儴鍒嗗唴瀹硅窡鍏蜂綋鐨勬搷浣滅郴緇熺浉鍏籌紝鍙互浣跨敤Windows SDK鎴栬匨FC鐢熸垚紿楀彛錛屼篃鍙互浣跨敤
Ogre榛樿鐨勭獥鍙g郴緇燂紝涓轟簡綆渚匡紝榪欓噷浣跨敤Ogre榛樿紿楀彛
       m_pRoot->initialise(true, "MyApplication Rendering Window");

鐢變簬鏄┖鐨勭獥鍙o紝鎵浠ヤ笉闇瑕佺敓鎴愬満鏅強(qiáng)鍋氱浉鍏崇殑宸ヤ綔銆傚湪榪欐鐨勭▼搴忎腑錛屽皢瑕佺洃鍚竴涓敭鐩樹簨浠訛紝鎸変笅ESC鐨勬椂鍊欓鍑虹▼搴忋?br>榪欓儴鍒嗗伐浣滃湪鎺ヤ笅鐨勪袱涓嚱鏁癝etupInputSystem鍜孋reateFrameListener涓畬鎴愩?br>
FrameListener鏄竴涓撫鐩戝惉鍣紝鏄劇ず鍣ㄤ笂鐨勫浘鍍忛兘鏄竴甯т竴甯х殑鏄劇ず鍑烘潵鐨勶紝鎴戜滑鍙互鍦ㄨ繖鍒囨崲榪欎簺甯х殑鏃跺欏仛涓浜涘鐞嗗伐浣滐紝
姣斿錛岃幏鍙栧拰澶勭悊閿洏浜嬩歡銆傚湪Ogre鐨勪富寰幆涓ぇ姒傚彲鑳戒細(xì)鏄繖涓牱瀛愶細(xì)
  1. Root object璋冪敤frameStarted鏂規(guī)硶鍦ㄦ墍鏈夊凡緇忔敞鍐岀殑FrameListeners涓?
  2. Root object娓叉煋涓甯с?
  3. Root object璋冪敤frameEnded鏂規(guī)硶鍦ㄦ墍鏈夊凡緇忔敞鍐岀殑FrameListeners涓?

鍦ㄨ繖閲屾坊鍔犱竴涓狹yListener綾葷敤鏉ュ仛榪欎歡浜嬫儏銆?br> class CombatListener : public FrameListener
{
public:
   CombatListener(OIS::Keyboard *pkeyboard)
       : m_pKeyboard(pkeyboard)
   {
   }

   bool frameStarted(const FrameEvent& evt)
   {
       m_pKeyboard->capture();
       return !(m_pKeyboard->isKeyDown(OIS::KC_ESCAPE));
   }

private:
   OIS::Keyboard *m_pKeyboard;
};
鍚屾牱鐨勶紝Ogre涔熷凡緇忓噯澶囧ソ浜嗕竴涓熀綾伙紝鍙渶瑕佺戶鎵垮啀紼嶅姞淇敼灝卞彲浠ヤ簡錛屽叾涓璒IS鏄?strong>Object Oriented Input System錛?br>瀹冩湰韜笉灞炰簬Ogre錛屾槸涓涓畝鍗曟槗鐢ㄧ殑璺ㄥ鉤鍙板紑婧愮郴緇燂紝鍙互鐢ㄥ畠鏉ュ鐞嗛敭鐩橀紶鏍囧拰娓告垙鎵嬫焺絳夎澶囥?br>榪欓噷鎴戝湪姣忎竴甯у紑濮嬬殑鏃跺欒幏鍙栭敭鐩樼姸鎬侊紝褰揈SC閿寜涓嬫椂錛岃繑鍥瀎alse錛岃繖灝嗗鑷寸▼搴忔甯擱鍑恒?br>
OIS浣跨敤涓涓粺涓鐨処nputManager錛屽畠姣旇緝闅鵑厤緗紝浣嗕竴鏃︽紜湴鍒涘緩涔嬪悗錛岄潪甯稿ソ浣跨敤銆? 棣栧厛鍦⊿etupInputSystem鏂規(guī)硶涓姞鍏?br>       size_t windowHnd = 0;
       std::ostringstream windowHndStr;
       OIS::ParamList pl;
       RenderWindow *win = m_pRoot->getAutoCreatedWindow();

       win->getCustomAttribute("WINDOW", &windowHnd);
       windowHndStr<<windowHnd;
       pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
       m_pInputManager = OIS::InputManager::createInputSystem(pl);
璇存槑涓鐐癸紝getCustomAttribute鏂規(guī)硶鐨勫姛鑳芥槸鐢ㄦ潵鑾峰彇鐗瑰畾騫沖彴鐨勪俊鎭紝鍦ˋPI涓婄敤涓涓瘝Horrid鏉ュ艦瀹硅繖涓柟娉曪紝鍝堝搱錛屾棤濂圖3D闇瑕佽繖浜涗俊鎭?br>涓嬮潰鍐嶆妸涓嬮潰鐨勪唬鐮佸洖鍒癝etupInputSystem鏂規(guī)硶涓氨O(jiān)K浜嗐?br>       try
       {
           m_pKeyboard = static_cast<OIS::Keyboard*>(
               m_pInputManager->createInputObject(OIS::OISKeyboard, false));
       }
       catch(const OIS::Exception &e)
       {
           throw Exception(42, e.eText, "MyApplication::SetupInputSystem()");
       }

InputSystem璁劇疆濂戒簡錛屽氨鍙互浣跨敤甯х洃鍚櫒浜嗭紝鍦ㄥ垱寤哄撫鐩戝惉鍣ㄧ殑鏂規(guī)硶涓細(xì)
       m_pListener = new MyListener(m_pKeyboard);
       m_pRoot->addFrameListener(m_pListener);
濂斤紝鍒拌繖閲岀▼搴忓熀鏈笂瀹屾垚浜嗭紝鍓╀笅鍙渶瑕佸惎鍔ㄦ覆鏌撳驚鐜紙StartRenderLoop錛夊氨鍙互璁╃▼搴忚窇璧鋒潵浜?br>       m_pRoot->startRendering();




Sunshine Alike 2009-10-28 22:33 鍙戣〃璇勮
]]>
国产精品99久久久久久www| 欧美久久精品一级c片片| 久久久久99精品成人片牛牛影视| 欧美777精品久久久久网| 久久人人爽人人爽AV片| 国产精品久久新婚兰兰| 成人综合伊人五月婷久久| 精品视频久久久久| 日韩人妻无码精品久久久不卡 | 久久亚洲高清观看| 久久99精品国产麻豆蜜芽| 777午夜精品久久av蜜臀| 国产一区二区精品久久| 久久经典免费视频| 国产亚洲精午夜久久久久久| 久久青青草视频| 久久精品亚洲精品国产欧美| 99久久er这里只有精品18| 性做久久久久久久久老女人| 久久精品国内一区二区三区| 漂亮人妻被黑人久久精品| 久久精品国产只有精品66 | 久久青草国产精品一区| 99久久综合国产精品免费| 94久久国产乱子伦精品免费| 久久精品国产99国产精品导航| 精品无码久久久久久久动漫| 精品久久久久香蕉网| 精品人妻伦九区久久AAA片69| 91精品观看91久久久久久| 国产精品99久久精品| 国内精品久久久久影院日本| 麻豆一区二区99久久久久| 免费久久人人爽人人爽av| 亚洲国产成人久久综合碰| 精品国产91久久久久久久a| 婷婷久久综合九色综合98| 精品一区二区久久| 亚洲乱亚洲乱淫久久| 久久最新精品国产| 国产亚州精品女人久久久久久 |