1
저는 Javascript에 비교적 익숙하지 않습니다. 작업중인 게임 유형 프로젝트에 아주 간단한 물리 엔진을 만들려고합니다. 이렇게하기 위해, 내가 원하는 각 객체에 대해 새로운 사본을 만들 수있는 클래스의 JS 상당 클래스로 이해했습니다. 문제는 x 위치와 같은 값을 업데이트 할 수 있고 x 중간 위치 (화면의 x 중심)와 같은 값을 업데이트 할 수 있기를 원합니다. 객체 리터럴과 getter를 사용하면 이것이 가능하다는 것을 알지만, 화면에있는 것을 기반으로 실시간으로 새 객체를 만들 수 있기를 원하며 get을 사용하여이 작업을 수행하는 방법을 알 수 없습니다. 당신은 하나 개의 속성을 변경하고 업데이트 할 다른 속성을 기대하고다른 속성을 기반으로 JS "클래스"의 속성을 업데이트하나요?
var object = function (xPos, yPos, width, height) {
this.xPos = xPos;
this.yPos = yPos;
function getXMid (xP) { return xP + width/2; }
this.xMid = getXMid (this.xPos);
function getYMid (yP) { return yP + height/2; }
this.yMid = getYMid (this.yPos);
}
var ball = new object (10, 20, 50, 50);
ball.xPos = 50;
console.log (ball.xMid); // want this to output 75 instead of 45
감사를 설정할 때
당신은 다른 속성을 업데이트 세터와 getter와 기능을 사용할 수 있습니다! 나는 setter가 어떻게 작동하는지에 대해 약간 혼란 스럽다. 사용하는 v 매개 변수의 출처는 어디입니까? –
setter가 얻는 유일한 인수는 설정 값입니다. 그래서'v'는'this.xPos = ***'를 – adeneo