在游戏中;如何将物体“缓慢”从“掉落”位置移动到需要去的位置?

时间:2013-06-09 01:14:01

标签: javascript jquery delay gamequery

我不是试图让它遵循设定的路径,因为路径是可变的。但我试图将对象设置为一个明显的模式,从Idrop它。

$(".gQ_sprite").mouseup(function() {        

        //test condition to see if collides with a box etc...
        collision1 = $("#" + currentClickedDivId).collision(".gQ_group, .box");
        if(collision1.length > 0)
        {
                       //irrelevent
        }
        else
        {
            //figure out yarnball Id...
            i = wordLength - 1
            yarnBallIdNumber = currentClickedDivId.charAt(10);
            yarnBallPositionFromStart = i - yarnBallIdNumber
            initialMovedYarnBallXPosition = yarnBallPositionFromStart * yarnSpacing

            initialMovedYarnBallXPosition = initialXYarnPosition - initialMovedYarnBallXPosition


            $("#" + currentClickedDivId).xy(initialMovedYarnBallXPosition ,yarnYPosition);
        }

现在我的代码只是在用户释放后将对象闪回到其位置,并且我试图“慢慢地”将其移回“如果你愿意”,并且无法想到最好的方法。

到目前为止,我的想法是使用循环并减去(或添加)对象的位置有延迟,但可能有更好的方法来移动我不知道的对象。

任何想法?

1 个答案:

答案 0 :(得分:1)

你可以做的是使用jQuery来动画除CSS属性之外的其他内容,如下所述:https://coderwall.com/p/fn2ysa

在你的情况下,让你的精灵在一秒内从currentX移动到destinationX你的代码看起来像:

var from    = {x: currentX};
var to      = {x: destinationX};
$(from).animate(to,{duration: 1000, step: function(step){
    $(mySprite).x(step);
}});