Следуйте по пути с tween.js - PullRequest
       26

Следуйте по пути с tween.js

0 голосов
/ 04 сентября 2018

Я строю игровое поле для игры, это как тривальное преследование, и я в тупике, после чего игрок бросает кости, и он выбирает случай, его пионы должны двигаться вперед, например, он в случае 1, имел 4 после броска кости выбрал случай 3 и двигаться. Вот моя проблема, используя мой пример, когда игрок выбрал случай 3, пионы должны перейти к случаю 2 и, наконец, 3, но с этим кодом мои пионы переходят непосредственно к случаям 3, и, честно говоря, я не понимаю, почему , вот мой код:

 attachEvent(_this, index,a,s) {
 let b =a-2

 _this.tween = new TWEEN.Tween(this.pions.position)

 if(index>=a){

_this.domEvents.addEventListener(_this.cases[index],                                                      'click',function(event) {
for ( var i = a-1; i <= index; i++) {
  _this.stepByStep(_this.tween,_this.cases[i].position)

}

  for (var i = a; i < a + s; i++) {
    try {
   _this.mat[i].color.setHex(0xFFD700)
    _this.domEvents.removeEventListener(_this.cases[i], 'click', false)

      }
    catch(err) {
console.log(err.message)
      }
    try {
    _this.mat[b].color.setHex(0xFFD700)
    _this.domEvents.removeEventListener(_this.cases[b], 'click', false)
     }
    catch(err) {
         console.log(err.message)
       }
        b--;
}




  }, false)

  }else{

  _this.domEvents.addEventListener(_this.cases[index], 'click',     function(event) {
for ( var i = a-1; i >=index; i--) {
  _this.stepByStep(this,i)

}

 for (var i = a; i < a + s; i++) {
    try {
   _this.mat[i].color.setHex(0xFFD700)
   _this.domEvents.removeEventListener(_this.cases[i], 'click', false)

      }
    catch(err) {
          console.log(err.message)
      }
       try {
     _this.mat[b].color.setHex(0xFFD700)
     _this.domEvents.removeEventListener(_this.cases[b], 'click', false)

     }
    catch(err) {
          console.log(err.message)
      }

   b--;
}

},false)

  }

 }

stepByStep(tween,position)
{

        tween.to({
        x: position.x,
        y: position.y,
        z: 5},1000)
        .start();


   }

это функция, которую я вызываю, когда игрок нажимает на кейс. индекс: объект (3 в моем примере) а: положение точек s: стоимость игральных костей

...