CreateJS NEXT : Point 클래스에 새롭게 추가되는 메소드를 사용해보기
Point
클래스에는, 그 연산을 위한 메소드가 갖추어져 가는 것 같습니다. 새로운 메소드의 샘플 코드를 소개합니다.Point.polar() 및 offset() 메서드
정적 메소드 Point.polar() 은 원점(0, 0)으로부터의 거리(length) 및 수평축이 이루는 라디안각(angle)을 인수에 건네주면, 그 좌표의 Point
오브젝트를 돌려줍니다. 거리를 일정하게 하여 각도를 바꾸어 가면 원운동을 쉽게 표현할 수 있습니다.
point = createjs.Point.polar(length, angle);
Point.offset() 메서드 는 xy 좌표 값을 인수로 사용하여 참조하는 인스턴스의 좌표를 더합니다. 원래 객체의 좌표가 그 어긋난다는 것입니다.
point.offset(x, y);
무엇보다 지금까지도 다음과 같이 쓰면 끝났습니다. 방법을 사용하면 조금 더 쉽게 볼 수 있을까요?
point.x += x;
point.y += y;
아래의 샘플 001에서는 다음과 같은 함수(setOnCircle())로 원궤도상에 객체(circle)를 놓고 있습니다. 메소드 Point.polar()
는 원점을 (0, 0) 로 하므로, Position.offset()
에 의해 중심 좌표(center)에 어긋났습니다. 또, Point.polar()
메소드의 제3 인수에 Point
오브젝트를 건네주면(자), 새로운 인스턴스는 만들지 않고, 그 오브젝트에 xy 좌표가 주어집니다. 함수의 인수에 건네주는 각도(angle)를 움직이면 원궤도의 애니메이션입니다.
function setOnCircle(angle) {
createjs.Point.polar(radius, angle, position);
position.offset(center.x, center.y);
circle.x = position.x;
circle.y = position.y;
}
샘플 001■CreateJS NEXT: Point.polar() and offset() methods
>>jsdo.it로
Point.interpolate() 메서드
정적 메소드 Point.interpolate() 은, 처음의 2 개의 인수 (point1 와 point0)의 좌표가 묶인 직선상에 좌표를 정해, Point
오브젝트로서 돌려줍니다. 좌표를 결정하는 것은 제3 인수의 비율(f)입니다.
point = createjs.Point.interpolate(point1, point0, f);
비율(f)이 1이면 제1 인수(point1), 0이면 제2 인수(point0)의 좌표가 됩니다. 0과 1 사이에서는 2점간, 1보다 크면 제1 인수의 밖, 마이너스의 경우는 제2 인수의 밖의 좌표의 오브젝트가 돌려주어집니다. 비율을 바꾸면 직선상의 모든 점을 나타낼 수 있습니다.
아래의 샘플 002는 두 개의 좌표 (start와 end)가 묶인 직선에 객체 (circle)를 놓고 다음 빼기와 같은 함수 (move ())를 사용합니다. 비율(f)을 연속적으로 변화시키면, 직선적인 애니메이션이 되는 것입니다. 또, Point.interpolate()
메소드의 제4 인수에 Point
오브젝트를 건네주면(자), 새로운 인스턴스는 만들지 않고, 그 오브젝트에 xy 좌표가 주어집니다.
function move() {
createjs.Point.interpolate(start, end, f, position);
circle.x = position.x;
circle.y = position.y;
}
샘플 002■CreateJS NEXT: Point.interpolate() method
>>jsdo.it로
Reference
이 문제에 관하여(CreateJS NEXT : Point 클래스에 새롭게 추가되는 메소드를 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FumioNonaka/items/70edefe3253871e518ab
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
point = createjs.Point.polar(length, angle);
point.offset(x, y);
point.x += x;
point.y += y;
function setOnCircle(angle) {
createjs.Point.polar(radius, angle, position);
position.offset(center.x, center.y);
circle.x = position.x;
circle.y = position.y;
}
정적 메소드 Point.interpolate() 은, 처음의 2 개의 인수 (point1 와 point0)의 좌표가 묶인 직선상에 좌표를 정해,
Point
오브젝트로서 돌려줍니다. 좌표를 결정하는 것은 제3 인수의 비율(f)입니다.point = createjs.Point.interpolate(point1, point0, f);
비율(f)이 1이면 제1 인수(point1), 0이면 제2 인수(point0)의 좌표가 됩니다. 0과 1 사이에서는 2점간, 1보다 크면 제1 인수의 밖, 마이너스의 경우는 제2 인수의 밖의 좌표의 오브젝트가 돌려주어집니다. 비율을 바꾸면 직선상의 모든 점을 나타낼 수 있습니다.
아래의 샘플 002는 두 개의 좌표 (start와 end)가 묶인 직선에 객체 (circle)를 놓고 다음 빼기와 같은 함수 (move ())를 사용합니다. 비율(f)을 연속적으로 변화시키면, 직선적인 애니메이션이 되는 것입니다. 또,
Point.interpolate()
메소드의 제4 인수에 Point
오브젝트를 건네주면(자), 새로운 인스턴스는 만들지 않고, 그 오브젝트에 xy 좌표가 주어집니다.function move() {
createjs.Point.interpolate(start, end, f, position);
circle.x = position.x;
circle.y = position.y;
}
샘플 002■CreateJS NEXT: Point.interpolate() method
>>jsdo.it로
Reference
이 문제에 관하여(CreateJS NEXT : Point 클래스에 새롭게 추가되는 메소드를 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/FumioNonaka/items/70edefe3253871e518ab텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)