하지 않습니다 나는 초당 30 번 호출 내 업데이트 기능에 다음 코드를했다 : 그 전에자바 스크립트 Array.splice()는 아무것도
// Checking collision between rune and the players:
for(var j = 0; j < this.players.length; j++) {
if(this.checkCollision(this.players[j], this.runes[i])) {
this.runes[i].activate(this.players[j]);
this.runes[i].isHidden = true;
this.runes[i].onDeactivate = function() {
console.log(i);
self.runes.splice(i, 1);
}
}
}
있습니다
for(var i = 0; i < this.runes.length; i++) ...
자기 .runes.splice (i, 1)는 배열에 아무런 영향을주지 않습니다 ... 저는 어떤 값으로 설정됩니다. 난 그냥 룬 문자 배열에서 액티브하지 않은 룬을 제거하고 싶습니다. 어떤 아이디어?
그런데, onDeactivate가 호출되고 있는데, 나는 그것을 테스트했습니다 ... –
완전한 호기심에서 (나는 정확히 무슨 일이 벌어지는 지 알지만)'console.log (i)'는 당신에게 무엇을 보여 줍니까? –
그것은 플레이어와 함께 가져갈 룬에 달렸습니다 ... 예를 들어 507을 보여주고 있습니다 ... 자기가 문제가 아닌지 궁금합니다. –