2013-06-09 1 views
0

Я не пытаюсь заставить его следовать заданному пути, так как путь является переменным. но я пытаюсь установить, чтобы объект падал в заметном шаблоне, где 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

Что вы можете сделать, это использовать 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); 
}});