| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 304 人关注过本帖
标题:帮忙看下这个程序(十万火急)
只看楼主 加入收藏
meiguo_911
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-4
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:2 
帮忙看下这个程序(十万火急)
void keyboard(unsigned char Key, int x, int y)
{

  switch(Key)
  {
        case 27:
        case 'q':

        if(m_MButtonDown)
       {
        m_xShear -= (m_MDownPos.x - (float)x)/2.0f;
        m_yShear -= (m_MDownPos.y - (float)y)/2.0f;

        M_xShear[4]=m_xShear/100;
        M_yShear[1]=m_yShear/100;

        m_LDownPos.x = x;
        m_LDownPos.y = y;
        }
 

        case 28:
        case "w":

        if(m_MButtonDown)
       {   
        m_transZ -= (m_MDownPos.y - (float)y)/10.0f;
         M_Scale[0]=M_Scale[5]=M_Scale[10]=m_transZ/150.0f+1.0f;

        m_MDownPos.x = x;
        m_MDownPos.y = y;

        }
         glutPostRedisplay();
  }
}
程序的作用是按下Q键的同时通过按下鼠标中键来对图形进行拉伸,按下w键的同时按下鼠标中键对图形进行缩放,运行出现错误!
error C2051: case expression not constant!!!
谁能帮我改正下?还有键盘的输入是怎么回事?27和q什么关系?谢谢了!
搜索更多相关主题的帖子: keyboard 
2011-03-05 14:33
meiguo_911
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-4
收藏
得分:0 
回复 楼主 meiguo_911
M_xShear【16】是一个一维数组表示的矩阵,m_MButtonDown表示鼠标按下的意思,我省略了部分程序。
2011-03-05 14:35
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:10 
貌似没有break;啊
在一个case所对应的语句结束后,给个break;
再,如果glutPostRedisplay();函数无论如何都要调用,那么,把它移到switch()之外。
我只说了我看到的问题,其他的还要由高手解答了。

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-03-05 15:00
快速回复:帮忙看下这个程序(十万火急)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016659 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved