游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2060|回复: 3

汽车的加速和减速如何实现?????

[复制链接]

19

主题

36

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2008-4-14 16:47:00 | 显示全部楼层 |阅读模式
本来想在祯监听器里的keypress事件中捕获按键信息
case OIS::KC_I:
   do{
        this->mDirection.z += this->mMoveSpeed-50*i;
        i++;
        }while(i<=4);
可是这样达不到减速的目的,不知为何
各位大大帮帮我啊

4

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2008-4-14 18:20:00 | 显示全部楼层

Re: 汽车的加速和减速如何实现?????

是不是应该用setposition()而不是setdirection()

加速减速,我在飞机模拟程序里是定义一个速度变量,
飞机每一祯的位置是前一祯的位置加上 (方向) X (速度)得出来的

19

主题

36

帖子

36

积分

注册会员

Rank: 2

积分
36
 楼主| 发表于 2008-4-15 10:51:00 | 显示全部楼层

Re: 汽车的加速和减速如何实现?????

是需要一个速度变量,
现在那个问题解决了,在keypress函数中:
case OIS::KC_I://暂时设为减速刹车(以四十千米每小时来减速)
            //while(!isAddSpeed){
            mMoveSpeed=mMoveSpeed-50;
            if(mMoveSpeed<0)
            {
                mMoveSpeed  =   0;
                this->mDirection.z  =0;
            }
            else
            {
                this->mDirection.z+=this->mMoveSpeed;
            }
            break;
这样可以实现减速,但是说这不不能实现在按住减速键一直不松的情况下得到减速效果,而是在一下一下按的时候实现减速效果,现在想实现只要按住减速键不松就可以减速,所以有点....

2

主题

108

帖子

116

积分

注册会员

Rank: 2

积分
116
发表于 2008-4-16 20:35:00 | 显示全部楼层

Re:汽车的加速和减速如何实现?????

使用弹簧系统+临界阻尼+欧拉积分可以实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 19:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表