急!有一个基于C++的OpenGL程序,按上和下键控制小车前进后退。
急!有一个基于C++的OpenGL程序,按上和下键控制小车前进后退。但是按键后小车运动速度太快了,请问如何降低小车运动速度,或者告诉我要修改哪个函数?...
急!有一个基于C++的OpenGL程序,按上和下键控制小车前进后退。但是按键后小车运动速度太快了,请问如何降低小车运动速度,或者告诉我要修改哪个函数?
展开
2个回答
展开全部
你是用glTranslate()移动小车的吗?如果是的话,就把传进去的实参除以一个大于1.0f的倍数,就能成倍缩短平移的距离了;
如果是使用了一个变量记录小车位置的话,就找到涉及该变量的那段代码,把增量减小,一般都在按键消息响应函数里(注意这个增量有可能是整型量,如果减小到1都不能满足要求的话,就要用浮点型来表示小数了)
如果是使用了一个变量记录小车位置的话,就找到涉及该变量的那段代码,把增量减小,一般都在按键消息响应函数里(注意这个增量有可能是整型量,如果减小到1都不能满足要求的话,就要用浮点型来表示小数了)
追问
谢谢你,能否再问一个问题?把glTranslate()的参数除以了一个倍数,车辆转弯会出现漂移,是不是要改glRotatef()的参数?假如glTranslate()的每个参数都除以了10,glRotatef()的参数如何改?
追答
你发代码过来看看好吗,估计是变换顺序的问题吧,先平移再旋转的话,旋转就不会影响平移方向了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询