Javascript jQuery游戏-让飞行的直升机更平稳

Javascript jQuery游戏-让飞行的直升机更平稳,javascript,android,jquery,ios,mobile,Javascript,Android,Jquery,Ios,Mobile,我在做一个简单的游戏 我有一架直升机,用户可以上下飞行 我已经有了实现这一点的基本代码,工作正常(touchstart+按住直升机上升,释放它下降)。然而,它是非常“反应性”的;如果你想让直升机沿直线飞行,你需要快速点击屏幕,但是无论你点击的速度有多快,直升机都会移动很多 我需要一种方式,在开始上升和开始下降时,使运动变得轻松,这样直升机可以在需要时以相当直线飞行 我的代码如下: var speed = 1; function copter_touchstart(){ clearIn

我在做一个简单的游戏

我有一架直升机,用户可以上下飞行

我已经有了实现这一点的基本代码,工作正常(touchstart+按住直升机上升,释放它下降)。然而,它是非常“反应性”的;如果你想让直升机沿直线飞行,你需要快速点击屏幕,但是无论你点击的速度有多快,直升机都会移动很多

我需要一种方式,在开始上升和开始下降时,使运动变得轻松,这样直升机可以在需要时以相当直线飞行

我的代码如下:

var speed  = 1;

function copter_touchstart(){
    clearInterval(fall);
    fly = setInterval( start_fly, 2);
}

function copter_touchend(){
    clearInterval(fly);
    fall = setInterval( start_fall, 2);
}

function start_fly(){
    var matrix = $helicopter.css('-webkit-transform').replace(/[^0-9\-.,]/g, '').split(',');
    var y = matrix[5];
    var new_top = parseInt(y) - speed;

    $helicopter.css('-webkit-transform', 'translate3d(0, '+ new_top +'px, 0)')
}

function start_fall(){
    var matrix = $helicopter.css('-webkit-transform').replace(/[^0-9\-.,]/g, '').split(',');
    var y = matrix[5];
    var new_top = parseInt(y) + speed;

    $helicopter.css('-webkit-transform', 'translate3d(0, '+ new_top +'px, 0)')
}

$body.on('touchstart', copter_touchstart).on('touchend', copter_touchend);
JS小提琴:

(针对鼠标事件更改了触摸)
反复点击屏幕以“悬停”块,这太被动了,但我不想在正常飞行时降低速度

有不同类型的过渡运动,默认为线性。请看这里:


你会拉小提琴吗?我也在找同样的解决办法。然而,我所观察到的关于喷气式机组的欢乐之旅是。触摸/释放屏幕时,开始时上升/下降非常缓慢,速度随着时间逐渐增加(可能从0.00开始,增量为0.01(随着时间的推移),并达到最大允许速度1.0)。但我不确定这是否正确,我已经尝试了很多东西,但都失败了,让我们实现这个东西,看看会发生什么。当你找到解决办法时,请务必告诉我。请看一看,这对我来说很有用。如果你通过其他方式实现了这一点,请分享。
.object {
    position: absolute;
    transition: all 2s ease-in-out;
    -webkit-transition: all 2s ease-in-out; /** Chrome & Safari **/
    -moz-transition: all 2s ease-in-out; /** Firefox **/
    -o-transition: all 2s ease-in-out; /** Opera **/
}