锘??xml version="1.0" encoding="utf-8" standalone="yes"?>要久久爱在线免费观看,精品国产婷婷久久久,亚洲乱亚洲乱淫久久http://m.shnenglu.com/sunshinealike/archive/2009/10/28/99524.htmlSunshine AlikeSunshine AlikeWed, 28 Oct 2009 14:33:00 GMThttp://m.shnenglu.com/sunshinealike/archive/2009/10/28/99524.htmlhttp://m.shnenglu.com/sunshinealike/comments/99524.htmlhttp://m.shnenglu.com/sunshinealike/archive/2009/10/28/99524.html#Feedback0http://m.shnenglu.com/sunshinealike/comments/commentRss/99524.htmlhttp://m.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鏂規硶鏉ョ敓鎴愮壒瀹氱被鍨嬬殑SceneManager
OGRE閲屾湁寰堝縐嶅満鏅鐞嗗櫒銆傛湁鐨勫満鏅鐞嗗櫒娓叉煋鍦伴潰錛屾湁鐨勫満鏅鐞嗗櫒娓叉煋BSP琛ㄧ瓑絳夈?

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

鎺ヤ笅鏉ュ啀鏉ヤ簡瑙d竴涓嬩竴涓噸瑕佺殑鍑芥暟void MyApplication::go()
榪欐槸涓涓叆鍙e嚱鏁幫紝榪欎竴嬈″湪鎴戠殑main鏂規硶閲屽氨鍙湁涓よ浠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鏈変釜榛樿鐨勮緗璇濇錛岀洿鎺ヨ皟鐢ㄥ畠灝卞彲浠ヤ簡錛屽鏋滅敤鎴峰彇娑堣繖涓姝ワ紝閭d箞鐩存帴閫鍑虹▼搴忓氨濂姐?br>
鍒涘緩紿楀彛榪欎竴姝ワ紝鍙互鏈夊縐嶉夋嫨錛屽洜涓洪儴鍒嗗唴瀹硅窡鍏蜂綋鐨勬搷浣滅郴緇熺浉鍏籌紝鍙互浣跨敤Windows SDK鎴栬匨FC鐢熸垚紿楀彛錛屼篃鍙互浣跨敤
Ogre榛樿鐨勭獥鍙g郴緇燂紝涓轟簡綆渚匡紝榪欓噷浣跨敤Ogre榛樿紿楀彛
       m_pRoot->initialise(true, "MyApplication Rendering Window");

鐢變簬鏄┖鐨勭獥鍙o紝鎵浠ヤ笉闇瑕佺敓鎴愬満鏅強鍋氱浉鍏崇殑宸ヤ綔銆傚湪榪欐鐨勭▼搴忎腑錛屽皢瑕佺洃鍚竴涓敭鐩樹簨浠訛紝鎸変笅ESC鐨勬椂鍊欓鍑虹▼搴忋?br>榪欓儴鍒嗗伐浣滃湪鎺ヤ笅鐨勪袱涓嚱鏁癝etupInputSystem鍜孋reateFrameListener涓畬鎴愩?br>
FrameListener鏄竴涓撫鐩戝惉鍣紝鏄劇ず鍣ㄤ笂鐨勫浘鍍忛兘鏄竴甯т竴甯х殑鏄劇ず鍑烘潵鐨勶紝鎴戜滑鍙互鍦ㄨ繖鍒囨崲榪欎簺甯х殑鏃跺欏仛涓浜涘鐞嗗伐浣滐紝
姣斿錛岃幏鍙栧拰澶勭悊閿洏浜嬩歡銆傚湪Ogre鐨勪富寰幆涓ぇ姒傚彲鑳戒細鏄繖涓牱瀛愶細
  1. Root object璋冪敤frameStarted鏂規硶鍦ㄦ墍鏈夊凡緇忔敞鍐岀殑FrameListeners涓?
  2. Root object娓叉煋涓甯с?
  3. Root object璋冪敤frameEnded鏂規硶鍦ㄦ墍鏈夊凡緇忔敞鍐岀殑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鏂規硶涓姞鍏?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鏂規硶鐨勫姛鑳芥槸鐢ㄦ潵鑾峰彇鐗瑰畾騫沖彴鐨勪俊鎭紝鍦ˋPI涓婄敤涓涓瘝Horrid鏉ュ艦瀹硅繖涓柟娉曪紝鍝堝搱錛屾棤濂圖3D闇瑕佽繖浜涗俊鎭?br>涓嬮潰鍐嶆妸涓嬮潰鐨勪唬鐮佸洖鍒癝etupInputSystem鏂規硶涓氨OK浜嗐?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璁劇疆濂戒簡錛屽氨鍙互浣跨敤甯х洃鍚櫒浜嗭紝鍦ㄥ垱寤哄撫鐩戝惉鍣ㄧ殑鏂規硶涓細
       m_pListener = new MyListener(m_pKeyboard);
       m_pRoot->addFrameListener(m_pListener);
濂斤紝鍒拌繖閲岀▼搴忓熀鏈笂瀹屾垚浜嗭紝鍓╀笅鍙渶瑕佸惎鍔ㄦ覆鏌撳驚鐜紙StartRenderLoop錛夊氨鍙互璁╃▼搴忚窇璧鋒潵浜?br>       m_pRoot->startRendering();




Sunshine Alike 2009-10-28 22:33 鍙戣〃璇勮
]]>
91久久成人免费| 亚洲av成人无码久久精品| 久久久久久午夜成人影院| 99国产精品久久久久久久成人热| 久久福利青草精品资源站| 91久久福利国产成人精品| 久久久精品国产免大香伊| 国产精品久久久久无码av| 欧美伊人久久大香线蕉综合69| 久久精品国产日本波多野结衣| 久久最新精品国产| 九九精品久久久久久噜噜| 亚洲欧美日韩精品久久| 日本欧美久久久久免费播放网| 久久久噜噜噜久久中文字幕色伊伊| 中文字幕乱码久久午夜| 国内精品伊人久久久久影院对白| 伊人久久大香线蕉亚洲| 国产综合成人久久大片91| 国产午夜精品久久久久免费视| 伊人久久一区二区三区无码| 欧美日韩中文字幕久久伊人| 一本色道久久88—综合亚洲精品| 精品国产热久久久福利| 久久丫精品国产亚洲av| 亚洲国产高清精品线久久| 国产69精品久久久久99尤物| 久久精品国产亚洲av高清漫画| 亚洲精品乱码久久久久久不卡| 2020最新久久久视精品爱| 国产精品久久久久久久久免费| 亚洲AV日韩AV永久无码久久| 亚洲精品国精品久久99热| 婷婷久久五月天| 伊人情人综合成人久久网小说| 久久国产乱子伦精品免费午夜| 久久综合狠狠色综合伊人| 91超碰碰碰碰久久久久久综合| 伊人久久大香线蕉影院95| 国产免费久久精品丫丫| 久久一区二区三区免费|