• <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 閱讀(201) 評論(0)  編輯 收藏 引用 所屬分類: c++
            四虎国产精品免费久久久| 久久久久久精品久久久久| 国产精品久久久久jk制服| 久久精品人人做人人妻人人玩| 精品久久久无码人妻中文字幕豆芽 | 色播久久人人爽人人爽人人片aV| 久久久久久久免费视频| 久久精品国产亚洲77777| 国产99久久九九精品无码| 久久WWW免费人成一看片| 久久综合久久综合久久| 精品国产乱码久久久久软件| 99久久国产亚洲高清观看2024 | 精品久久777| 久久久久久久精品妇女99| 久久精品国产亚洲av高清漫画| 久久人人爽人人爽人人片AV东京热| 伊人久久大香线蕉AV色婷婷色| 久久久久久免费一区二区三区| 国内高清久久久久久| 久久av高潮av无码av喷吹| 久久久久久国产精品免费无码| 四虎国产精品免费久久| 办公室久久精品| 国产激情久久久久影院| 久久精品中文字幕无码绿巨人| 久久中文字幕精品| 久久亚洲2019中文字幕| 国产69精品久久久久99尤物| 久久99精品国产99久久| 久久国产热精品波多野结衣AV| 亚洲成色WWW久久网站| 免费精品国产日韩热久久| 亚洲AⅤ优女AV综合久久久| 久久se精品一区二区影院 | 91麻精品国产91久久久久| 久久久久亚洲av成人网人人软件| 日本加勒比久久精品| 三级韩国一区久久二区综合| 午夜视频久久久久一区 | 亚洲欧美精品伊人久久|