我要发帖 回复

正式会员

4

主题

27

积分

0

专家分

:

私信
发表时间 : 2009-3-11 15:32:57 | 浏览 : 1614    评论 : 7
我在creator中创建了一个表盘和表针,表针设置为dof,指针名称为“biao”,文件名为gauge
然后在vc.net里编程,编译没有错误,可是按键后表指针没有任何反映,问题在哪里呢?谢谢大家了
程序如下:
#include <vsgu.h>
#include <vp.h>
#include <vsDOF.h>
#include <vpApp.h>
#include <vpObject.h>
#include <vpTimer.h>
#include "vuAllocTracer.h"
vuAllocTracer tracer(true, true);

class myApp : public vpApp
{public:
        vsNode *myNode;
        vpObject *myObj;
        vsDOF *myDof;
public:
        myApp()
        {}
        ~myApp()
        {}
        int configure()
        {
               
                myObj= vpObject::find("gauge");
                if(myObj)
                {
                        myNode = myObj->find_named("biao");
                        if(myNode&&myNode->isOfClassType(vsDOF::getStaticClassType()))
                                myDof = (vsDOF *)myNode;
                        else
                                printf("There is no DOF node!");
                }
                else
                        printf("There is a error!");
                return vsgu::SUCCESS;
                vsDOF::Constraint constraint(true,0.0f,360.0f);
                myDof->setConstraint(vsDOF::COMPONENT_ROTATE_H,constraint);
                return vsgu::SUCCESS;

        }
        virtual        void myApp::onKeyInput(vrWindow::Key key,int mod)
        {int p;
                switch(key)
                {
                case vrWindow::KEY_j:
                        p++;
                        if(p>30)
                        {
                                p=30;
                        }
                        break;
                case vrWindow::KEY_l:
                        //                        myDof->setSpeed(0.57);

                        //                        myDof->setConstraint(vsDOF::COMPONENT_TRANSLATE_Z,vsDOF::Constraint(true,0,45));
                        //        myDof->setConstraint(vsDOF::COMPONENT_TRANSLATE_Z,myDof);
                        //myDof->setRotateH(90,TRUE);
            p--;
                        if(p<1)
                        {
                                p=1;
                        }
                        break;
                case vrWindow::KEY_i:
                        {myDof->setRotateR(p);}
               
                default:
                        break;}
        }

};
int main(int argc, char *argv[])
{
    // initialize vega prime
    vp::initialize(argc, argv);

    // initialize addition modules here
    //vpModule::initializeModule(modulename);

    // create a vpApp instance
    vpApp *app = new vpApp;

    // load acf file
    if (argc <= 1)
        app->define("gauge.acf");
    else
        app->define(argv[1]);
        
    // configure my app
    app->configure();

    // runtime loop
    app->run();
   
    // unref my app instance
    app->unref();
   
    // shutdown vega prime
    vp::shutdown();

    return 0;
}

最近VR访客

cindypeng 评论于2009-3-11 19:04:55
找到错误原因了
xiubie111 评论于2009-3-12 14:52:27
原因是什么啊,
mihlin 评论于2009-11-10 17:26:31
原因是什么呢?我也遇到同样的问题了……
chanjoy1988 评论于2011-11-14 17:24:24
什么原因啊,同求
99daodan 评论于2011-11-14 19:15:35
对于这些只知道求助于别人,而解决了问题又装X的家伙,建议大家不要再搭理他们!
aspirationTT 评论于2011-11-14 21:41:21
LZ解决了给个答复啊,大家学习下
行健 评论于2012-2-24 16:23:03
顶一下!!!!!!
破除万难,勇往直前!

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-10-25 12:46 PM

返回顶部