2017-11-26 9 views
0

私は信じられないほど馬鹿だと感じますが、半時間ほど試してみると、私は諦めます。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];

(私が試しました静的な数字と同じ、確かに)。

私は今覚えていないこと

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

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

square.height = height; 
square.width = width; 

、おそらく20以上のバージョンを試してみました。 私はconsole.loggedにsquare.sizeが表示されましたが、新しく割り当てられた値(時には?)は表示されましたが、矩形のサイズは変更されません。

実際に矩形のサイズを変更するにはどうすればよいですか?

答えて

2

ウィンドウの寸法が変わるたびに、onResize()関数が呼び出されます。これは矩形のサイズを変更できる唯一の場所ではありません。それは四角形とはまったく関係ありません。

矩形のサイズを変更するには、ドキュメントを確認する必要があります。 Rectangleオブジェクトにはscale(amount)expand(amount)メソッドが添付されています。 sizeは単なるプロパティであり、セッターが付いていないようです。

したがって、正方形とビューの間の比率を維持したい場合は、以前のビューの幅を保存して、その違いを確認して、それに応じて矩形のサイズを変更することができます - this前の質問。

代わりに、あなただけの正方形を再初期化し、各ビューのサイズ変更にビューの幅の80%にサイズプロパティを設定できます。

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

おかげibriq、それが動作します。私は、 'new Path.Rectangle'オプションは、拡大または拡大に匹敵する方が簡単だと思います。私はまだ 'square.position = view.center;'で位置を設定できるのであれば、なぜ 'square.size'で同様のことをすることができないのでしょうか? – mdomino

関連する問題