我正在为游戏构建棋盘,这是一种琐碎的追求,我陷入了死胡同,在玩家掷骰子并且他选择了一个箱子之后,他的 pions 必须向前移动,例如他在案例1,掷骰子后有一个4选择案例3并移动。这是我的问题,使用我的示例,当玩家选择案例 3 时,pions 必须转到案例 2 和 finaly 3,但是使用此代码,我的 pions 直接转到案例 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();
}
这是我在玩家点击案例索引时调用的函数:objectif(在我的示例中为 3)a:点的位置 s:骰子的值