2017-11-26 5 views
0

좋아, 나는 어리 석다.하지만 30 분 정도 시도한 후 포기한다.paper.js에서 "onResize"사각형의 크기 조정

paper.js의 onResize() 이벤트를 통해 사각형의 크기를 조정하는 방법은 무엇입니까? onResize() 함수와 함께 제공되는 this example으로 시도했지만 성공하지 못했습니다 (오른쪽 상단의 Source 버튼을 클릭하여 샘플을 편집 할 수 있습니다).

현재 크기 조정 기능은 다음과 같습니다

function onResize() { 
    text.position = view.center + [0, 200]; 
    square.position = view.center; 
} 

을 지금, 나는 추가하여 크기 조정에 뷰포트의 높이의 제곱 80 %를 만들려고 :

square.size = [view.size.height/100 * 80, view.size.height/100 * 80];

(I 시도 고정 숫자와 동일 함, 확실 함).

나는
square.height = height; 
square.width = width; 

하고 내가 지금 기억할 수없는 아마 20 이상 버전

square.set(new Point(view.center), new Size(width, height)

square.size = new Size(width, height);

을 시도했다. console.logged했을 때 square.size 새로 할당 된 값 (때로는?)을 보여 줬지만 여전히 사각형의 크기는 변경되지 않았습니다.

실제로 사각형의 크기를 변경하려면 어떻게해야합니까?

답변

2

창 크기가 변경 될 때마다 onResize() 함수가 호출됩니다. 그것은 사각형의 크기를 변경할 수있는 유일한 장소가 아닙니다. 사각형 자체와는 아무런 관련이 없습니다.

사각형의 크기를 변경하려면 설명서를 확인해야합니다. 개체에는 scale(amount)expand(amount) 메서드가 연결되어 있습니다. size은 단지 재산 일 뿐이며 세터와 함께 사는 것 같지 않습니다.

따라서 사각형과 뷰 사이의 비율을 유지하려면 이전 뷰 너비를 저장하고 차이점을 확인하고 그에 따라 사각형 크기를 조절할 수 있습니다.이 방법을 참조하십시오. this 이전 질문. 작동

square = new Path.Rectangle({ 
    position: view.center, 
    size: view.bounds.width * 0.8, 
    parent: originals, 
    fillColor: 'white' 
}); 
+0

감사 ibriq을 :

또는, 당신은 단지 광장을 재 초기화 및 각보기 크기 조정에 뷰의 폭의 80 % 크기 속성을 설정할 수 있습니다. 나는 '새로운 Path.Rectangle'옵션이 쉽게 확장하거나 확장 할 수 있다고 생각합니다. 나는 여전히'square.position = view.center; '를 통해 위치를 설정할 수 있다면 왜'square.size'와 비슷한 일을 할 수 없는지 궁금합니다. – mdomino

관련 문제