• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            4D星宇

            c++

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              57 隨筆 :: 0 文章 :: 39 評論 :: 0 Trackbacks

            該項目使用INI來實現數據的讀取。
            比如:
            1.節點讀取
            INI部分:
            外觀
            Look
             Body
              model=impreza.3ds
              scale=1 1 1
             Wheels
              model=wheel.3ds
              scale=1 1 1
            聲音
            Sound
             Engine
              wave=206_engine.wav
              pitch_low=0.2
              pitch_high=1.5
            程序部分:
            //load car

             body.node=loadModel(cfg, "Look/Body/", device, sm, driver);

             body.node_debug=sm->addCubeSceneNode(1, 0, -1, core::vector3df(0, 0, 0), core::vector3df(0, 0, 0),
              cfg.Getval_vector("Body/Chassis/1/scale", core::vector3df(1, 1, 1))
              );
             body.node_debug->setMaterialTexture(0, driver->getTexture("data/misc/checked.jpg"));
            2.車輪的屬性
             Wheel #default
              damp=30000
              spring=50000
              radius=0.38
              weight=20
              width=0.10 #not yet used if user specifies wheel model
              brakes=0 # 0.0 - 1.0
             Wheel_1 #fl
              pos=1.39 -0.145 0.823
              attr=STEER
              brakes=0.8
              rotation_z=1.5707963 #used just by client part
             Wheel_2 #fr
              pos=1.39 -0.145 -0.823
              attr=STEER
              brakes=0.8
              rotation_z=4.7123889
             Wheel_3 #rl
              pos=-1.350 -0.15 0.823
              attr=STRAIGHT|THURST
              brakes=0.2
              rotation_z=1.5707963
             Wheel_4 #rr
              pos=-1.350 -0.15 -0.823
              attr=STRAIGHT|THURST
              brakes=0.2
              rotation_z=4.7123889
            for (int i=0; ; i++) {
              char buf2[128];

              sprintf(buf2, "Body/Wheel_%d/", i+1);
              buf=buf2;

              if (!cfg.Getval_exists(buf+"attr")) break;

              double radius=cfg.Getval_double((string)buf+"radius", cfg.Getval_double("Body/Wheel/radius", 1));
              double width=cfg.Getval_double((string)buf+"width", cfg.Getval_double("Body/Wheel/width", 1));

              scene::ISceneNode* node=loadModel(cfg, "Look/Wheels/", device, sm, driver);
              CModelAttr wm;

              scene::IMesh* cm=CreateCylinder(25, 2, 1);
              scene::ISceneNode* node_debug=sm->addMeshSceneNode(cm);
              node_debug->setScale(core::vector3df((f32)(radius), (f32)width, (f32)(radius)));
              node_debug->setMaterialTexture(0, driver->getTexture("data/misc/checked.jpg"));
              node_debug->getMaterial(0).EmissiveColor.set(255,255,255,255);

              wm.arot=core::vector3df((f32)cfg.Getval_double(buf+"rotation_x", 0),
                (f32)cfg.Getval_double(buf+"rotation_y", 0),
                (f32)cfg.Getval_double(buf+"rotation_z", 0));
              wm.node=node;
              wm.node_debug=node_debug;

              wheels.push_back(wm);
             }
            3.聲音---車開動時的轟鳴聲
             //load sounds
             try {
              snd_engine = new openalpp::Source((ALbyte*)("data/cars/"+profile+"/"+cfg.Getval_str("Sound/Engine/wave")).c_str());
              if (!snd_engine.valid())
               DBGCOUT("ALUT", "Coulnd't load file", ("data/cars/"+profile+"/"+cfg.Getval_str("Sound/Engine/wave")).c_str());
              else {
               snd_engine->setGain(1);
               snd_engine->setPosition(0.0,0.0,0.0);
               snd_engine->setLooping(true);
              }
              snd_engine_pitch_low=cfg.Getval_double("Sound/Engine/pitch_low");
              snd_engine_pitch_high=cfg.Getval_double("Sound/Engine/pitch_high");
             } catch(openalpp::Error e) {
              std::cerr << e << "\n";
             }

            posted on 2008-05-08 10:31 bloodbao 閱讀(199) 評論(0)  編輯 收藏 引用 所屬分類: c++
            精品国产乱码久久久久久人妻| 麻豆成人久久精品二区三区免费| Xx性欧美肥妇精品久久久久久| 国产69精品久久久久777| 91精品国产91久久久久久青草| 久久综合狠狠色综合伊人| 欧美亚洲日本久久精品| 中文字幕久久精品无码| 久久99国产综合精品免费| 精品久久久久久无码人妻蜜桃 | 97精品伊人久久大香线蕉| 国产成人精品综合久久久久| 亚洲成色999久久网站| 亚洲天堂久久久| 久久精品视频网| 亚洲午夜无码久久久久| 久久激情五月丁香伊人| 麻豆成人久久精品二区三区免费| 久久久WWW成人| 精品国产一区二区三区久久| 一本久道久久综合狠狠爱| 亚洲国产成人久久综合一 | 中文字幕精品无码久久久久久3D日动漫 | 久久精品无码一区二区无码 | AV无码久久久久不卡蜜桃| 无码8090精品久久一区| 9191精品国产免费久久 | 久久久久久毛片免费看| 国产精品免费看久久久| 亚洲中文久久精品无码| 亚洲欧洲中文日韩久久AV乱码| 天天爽天天爽天天片a久久网| 久久久久久亚洲AV无码专区| 无码日韩人妻精品久久蜜桃 | 国产A级毛片久久久精品毛片| 久久久久人妻精品一区| 亚洲va久久久噜噜噜久久男同| 狠狠色丁香婷婷久久综合五月| 久久人人爽人人爽人人片AV麻豆 | 久久丫精品国产亚洲av不卡| 97精品依人久久久大香线蕉97|