Skip to main content
yuki212
Participating Frequently
April 24, 2024
Question

リピーターでコピー数を増やした時に自動で間隔が調整されるようにしたい

  • April 24, 2024
  • 1 reply
  • 1878 views

件名の通りなのですが、リピーターでコピー数を増やした時に自動で間隔が調整されるような仕組みをエクスプレッションで作ることは可能でしょうか。

コピー数の数値を増減させるだけで、トランスフォーム:リピーターの「位置」が画像のように自動で調整されるようにしたいです。(コピー元の初期位置は画面端にくっつかないものとします。)

    This topic has been closed for replies.

    1 reply

    Community Expert
    April 24, 2024
    下記コードをリピーターの位置に追加してみてはどうでしょう。
     
    let n = content("長方形 1").content("リピーター 1").copies;  //リピーターのコピー数。階層が異なる場合は再設定
    if (n > 2){
    	value / (n - 1);
    }else{
    	value
    }

     

    コピー数にキーフレームを設定する場合は、下記コードを追加して値を整数に変換して下さい。

    Math.round(value)
    yuki212
    yuki212Author
    Participating Frequently
    April 24, 2024

    ご回答ありがとうございます。

    頂きましたエクスプレッションを試してみたところ、画像1枚目のようなエラーが出てしまったのですが階層の作り方が間違っているのでしょうか?
    また、手動で「コピー数」に繋げた場合も画像2,3枚目のように意図しない挙動になってしまったため可能でしたら改善法をご教示願いたいです。

    Community Expert
    May 6, 2024

    <追記>

    思いつきで、
    コピー数をある程度設定するように変更してみました。

    コピー数のエクスプレッションを書き換えて下さい。

     

    let ref = content("長方形 2").content("長方形パス 1").size[0];
    n = linear(ref,0,1600,1,6);  //サイズとコピー数
    [ Math.floor(n)]
    

     

     


    <追記2>
    中央から広がるようにする場合は、横長長方形のアンカーポイントを 0,0 にして、縦長長方形のアンカーポイントを下記コードへ追加します。

     

    let ref = content("長方形 2").content("長方形パス 1").size[0]/2;
    let w = content("長方形 1").content("長方形パス 1").size[0]/2;
    x = ref - w ;
    [x,value[1]]