LoginSignup
0
0

More than 5 years have passed since last update.

【エクスプレッション】2次元のプロパティとvalueの関係

Last updated at Posted at 2017-05-03

今日はエクスプレッションのお話

エクスプレッションで二次元の要素を持ったプロパティの時のvalueの変化

やりたい事

補間を使って自動で処理をします。
※とりあえず一次元の場合の話をします。

linear ( 変数 , 入力最小値 , 入力最大値 , minに対する出力値 , maxに対する出力値 )

下のコードではレイヤーの不透明度をレイヤーのインポイントから1秒にかけて0~100%に変化します。

linear(time,inPoint,inPoint+1,0,100)

これに設定値のvalueを使用して変化させます。

linear(time,inPoint,inPoint+1,0,100)
赤字の0をレイヤーのトランスフォームパネルの不透明度から値を受け取りたいのでvalueを使用します。

linear(time,inPoint,inPoint+1,value,100)
に変更しました。
これは問題なく動作します。

001.JPG

さてここからが2次元プロパティの場合の話

プロパティが2次元の要素を持った場合、例)アンカーポイント・位置・スケールなど

図)二次元の要素を持ったプロパティ
002.JPG

この二次元の要素を持ったプロパティの場合補間のエクスプレッションはこうなります。

linear ( 変数 , 入力最小値 , 入力最大値 , minに対する出力値[Num,Num] , maxに対する出力値[Num,Num] )

例えばこんな感じです。

linear(time,inPoint,inPoint+1,[0,0],[100,100])

minに対する出力値 , maxに対する出力値が二次元になります。

てっ事で適当にvalueを入れてみる。

linear(time,inPoint,inPoint+1,[value,value],[100,100])

まずこれでやってもエラーになるだけです。

valueで扱いたい場合・・・

二次元の場合にvalueは二次元の配列になっています。
配列は
value[0] //xのvalue
value[1] //yのvalue
になります
という事ですので、正しくはこうなります。

それではコードです。

linear(time,inPoint,inPoint+1,[value[0],value[1]],[100,100]);

これが正しいコードになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0