使用tween.js遵循路径

时间:2018-09-04 10:04:51

标签: javascript three.js tweenjs

我正在为游戏搭建一块棋盘,这是一个类似的琐事,而我却陷入了死胡同,在玩家掷出骰子并且他选择了一个箱子之后,他的中介必须 向前移动,例如,他在情况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();


   }

这是玩家在点击案件时调用的功能 index:objectif(在我的示例中为3) a:穴位 s:骰子的值

0 个答案:

没有答案