스프라이트가 포함 된 그룹으로 표시된 유닛을 이동시키기 위해 KineticJS에 코드를 작성하려고합니다 (그래픽 표현에 더 많은 것을 추가 할 수 있으므로 그룹입니다).KineticJS - 알 수없는 오류가 발생하는 스프라이트 이동
이동 함수의 코드는 다음과 같습니다 라인 sprite.setAnimation('idle');
모든없이
this.moveTo = function(x,y) {
distance = Math.sqrt((this.shape.getX() - x)*(this.shape.getX() - x)+(this.shape.getY() - y)*(this.shape.getY() - y));
time = distance/MOVEMENT_SPEED;
var sprite = this.sprite;
this.sprite.setAnimation('walkDown'); //TODO: change
this.group.transitionTo({
x: x,
y: y,
duration: time,
easing: "ease-in-out",
callback: function(){
sprite.setAnimation('idle');
}
})
}
는 잘 작동합니다. 이 라인의 모든 여전히 (애니메이션이 운동이 종료 된 후 정지 IE)하지만 때로는 스프라이트가 모두 사라지고 난 다음 암호 같은 오류 메시지가 얻을 대부분의 시간을 예상대로 작동합니다 : 테스트의 목적을 위해
Error: d is undefined" in line 29 in kinetic-v3.9.8.min.js
을 , 지금 moveTo는 화면에서 마우스를 클릭하여 호출됩니다. 나는 이전 움직임이 끝나기 전에 마우스를 클릭하는 것과 관련이있을 것이라고 생각했지만 때로는 오류가 발생하더라도 조심하지 않을 때도 발생합니다.
편집 : 스테이지의 가장자리 근처를 클릭하면 이동 오류가 발생하고 이동 순서는 "out"단위로 이루어집니다. 스프라이트 애니메이션을 변경하고 연결을 이해하지 못하면 아무 일도 일어나지 않습니다. 또한 국경 근처를 클릭하지 않고도 오류를 재현 할 수있었습니다.