在gamequery;我如何“缓慢地”移动一个物体?从它的“掉落”到它需要去的地方

in gamequery; how would I move an object "slowly" from its "dropped" location to where it needs to go?

本文关键字:掉落 一个 gamequery 缓慢 缓慢地 移动      更新时间:2023-09-26

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

$(".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);
        }

现在我的代码只是在用户释放对象后将其闪烁回其位置,如果您愿意,我正在尝试"缓慢"地将其移回,但想不出最好的方法。

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

任何想法?

你能做的是使用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);
}});